/*! For license information please see digistore.js.LICENSE.txt */ (()=>{var __webpack_modules__={167:e=>{function t(e){let t=0;for(let i=0;i{let o={};try{const e=i(7775),t=i(638),r=i(4991),n=i(2446),a=i(6044),s=i(6819),d=i(2699),c=i(3529),l=i(5495);o={detectWebdriver:e.detectWebdriver,detectCDP:t.detectCDP,detectCDPStackTrace:t.detectCDPStackTrace,detectConsoleDebugLeak:t.detectConsoleDebugLeak,checkUserAgent:r.checkUserAgent,checkWebGL:n.checkWebGL,getAutomationFlags:a.getAutomationFlags,getHeadlessIndicators:a.getHeadlessIndicators,checkChromeRuntime:a.checkChromeRuntime,checkPermissions:a.checkPermissions,getMediaChecks:s.getMediaChecks,getFingerprintChecks:d.getFingerprintChecks,getWorkerChecks:c.getWorkerChecks,getCheckItemExplanations:l.getCheckItemExplanations}}catch(e){o=null}async function r(e=!1){const t=o?.detectWebdriver||a,i=o?.detectCDP||c,r=o?.checkUserAgent||u,s=o?.checkWebGL||p,_=o?.getAutomationFlags||d,h=o?.getHeadlessIndicators||l,w=o?.getMediaChecks||f,g=o?.getFingerprintChecks||y,b=o?.getWorkerChecks||E,v=o?.getCheckItemExplanations||R,k=m,S=await b(),A={isHeadless:await n(S),webdriver:t(),automationFlags:_(),cdpArtifacts:i(),headlessIndicators:h(),userAgentFlags:r(),webglFlags:s(),advancedChecks:k(),mediaChecks:w(),fingerprintChecks:g(),workerChecks:S,checkItemExplanations:v(),summary:null,timestamp:Date.now(),userAgent:navigator.userAgent,detectionVersion:"1.0.0"};return A.summary=function(e){const t=[],i=[],o=e.checkItemExplanations||{"webdriver-status":{label:"WebDriver Present",description:"Indicates if navigator.webdriver flag is set to true",good:"Browser is running normally without automation framework",bad:"Automation tool (Selenium, Puppeteer) is controlling this browser"},"cdp-detected":{label:"CDP Detected",description:"Chrome DevTools Protocol connection or ChromeDriver presence",good:"No CDP artifacts found - normal browser operation",bad:"CDP-based automation detected (Puppeteer, Playwright, Selenium 4+)"},"cdp-keys":{label:"CDC Keys Found",description:"Number of ChromeDriver-specific CDC keys in window/document",good:"0 keys - no ChromeDriver injection",bad:">0 keys - ChromeDriver has injected tracking properties"},"ua-suspicious":{label:"Suspicious Patterns",description:"User-Agent contains automation/headless keywords",good:"Clean User-Agent string without automation indicators",bad:"Contains 'headless', 'HeadlessChrome', 'selenium', 'puppeteer'"},"webgl-supported":{label:"WebGL Supported",description:"Browser supports WebGL rendering API",good:"WebGL available - normal browser capability",bad:"WebGL missing - very unusual for modern browsers"},"webgl-software":{label:"Software Renderer",description:"Using CPU-based software rendering instead of GPU",good:"Hardware GPU rendering - normal desktop/laptop",bad:"Software renderer (SwiftShader, llvmpipe) - VM or headless"},"webgl-renderer":{label:"Renderer",description:"GPU vendor and model reported by WebGL",info:"Shows claimed GPU hardware. Can be spoofed but rendering test verifies it"},"webgl-rendering-test":{label:"Rendering Test",description:"Complex 3D scene rendering matches claimed GPU capabilities",good:"Rendering output consistent with reported GPU",bad:"Output doesn't match GPU specs - spoofing detected"},"webgl-noise":{label:"Noise Ratio",description:"Pixel variation in rendered output (hardware-specific)",good:"<1% noise - normal hardware rendering",bad:">2% noise - suspicious uniform output, possible emulation"},"worker-available":{label:"Worker Available",description:"Web Workers API is supported and functional",good:"Workers available - normal browser",bad:"Workers unavailable - very unusual"},"worker-mismatch":{label:"UA Mismatch",description:"User-Agent differs between main thread and Worker",good:"Consistent UA - properly patched automation or real browser",bad:"UA mismatch - automation failed to patch Worker context"},"worker-status":{label:"Status",description:"Current state of Worker UA validation",info:"Shows if check is pending, completed, or any mismatch details"},"emoji-rendered":{label:"Emoji Rendered",description:"Canvas successfully rendered emoji character",good:"Emoji rendering works - normal browser",bad:"Failed to render - missing fonts or headless"},"emoji-os":{label:"Detected OS",description:"Operating system detected from emoji rendering style",info:"Different OS render emoji differently. Should match User-Agent OS"},"emoji-suspicious":{label:"Suspicious",description:"Emoji rendering doesn't match claimed OS from User-Agent",good:"Emoji style matches reported OS",bad:"Mismatch detected - User-Agent spoofing or VM"},"outer-dims":{label:"Has Outer Dimensions",description:"window.outerWidth/outerHeight are available",good:"Outer dimensions present - normal windowed browser",bad:"Missing outer dimensions - common in headless mode"},"inner-outer":{label:"Inner = Outer",description:"Inner and outer window dimensions are identical",good:"Different dimensions - normal browser with chrome/toolbar",bad:"Identical - suspicious, may indicate headless or fullscreen automation"},dimensions:{label:"Dimensions",description:"Inner dimensions / Outer dimensions (width x height)",info:"Inner is viewport, outer includes browser chrome. Difference indicates normal browser"},"plugins-count":{label:"Plugins",description:"Number of browser plugins available",info:"Normal browsers have 3-5 plugins. Headless often has 0"},"languages-check":{label:"Languages",description:"navigator.languages array is populated",good:"Languages array present - normal browser",bad:"Empty or missing - common headless indicator"},"media-devices":{label:"Media Devices",description:"navigator.mediaDevices API is available",good:"MediaDevices API present - normal browser",bad:"Missing API - common in headless browsers"},notifications:{label:"Notifications",description:"Notification permission state (granted/denied/default)",info:"Headless often defaults to 'denied', normal browsers to 'default'"},"flag-domautomation":{label:"domAutomation",description:"Global domAutomation property - Chrome automation indicator",good:"Not present - normal browser",bad:"Present - automation framework detected"},"flag-selenium":{label:"_selenium",description:"Selenium-specific global variable",good:"Not present - normal browser",bad:"Present - Selenium WebDriver detected"},"flag-webdriver-evaluate":{label:"__webdriver_evaluate",description:"WebDriver evaluate function injection",good:"Not present - normal browser",bad:"Present - WebDriver automation detected"},"flag-phantom":{label:"_phantom",description:"PhantomJS-specific global variable",good:"Not present - normal browser",bad:"Present - PhantomJS headless browser detected"},"flag-nightmare":{label:"__nightmare",description:"Nightmare.js automation framework indicator",good:"Not present - normal browser",bad:"Present - Nightmare.js automation detected"},"flag-callphantom":{label:"callPhantom",description:"PhantomJS function for communication",good:"Not present - normal browser",bad:"Present - PhantomJS detected"},"playwright-binding":{label:"__playwright__binding__",description:"Playwright's internal binding mechanism exposed in window",good:"Not present - normal browser",bad:"Present - Playwright automation framework detected"},"playwright-initscripts":{label:"__pwInitScripts",description:"Playwright initialization scripts registry",good:"Not present - normal browser",bad:"Present - Playwright detected with init scripts"},"playwright-exposed":{label:"Exposed Functions",description:"Functions injected via page.exposeFunction() with __installed property",good:"None detected - normal browser",bad:"Detected - Playwright is using exposed bindings for automation"},"adv-stacktrace":{label:"CDP Stack Trace",description:"Error.stack accessed by CDP Runtime.enable",good:"No CDP stack trace leak detected",bad:"CDP detected via Error stack - automation using CDP protocol"},"adv-runtime":{label:"Chrome Runtime",description:"chrome.runtime extension API availability (extensions only)",good:"chrome.runtime available (running as extension)",bad:"chrome.runtime not available (normal for regular web pages)"},"adv-permissions":{label:"Permissions API",description:"navigator.permissions API behavior",good:"Permissions API works normally",bad:"Permissions denied by default - headless indicator"},"adv-console":{label:"Console Debug",description:"console.debug CDP artifact detection",good:"No console.debug leaks detected",bad:"CDP detected via console.debug modification"},"media-webrtc":{label:"WebRTC Available",description:"RTCPeerConnection API for real-time communication",good:"WebRTC available - normal browser",bad:"WebRTC disabled/missing - privacy mode or headless"},"media-devices-count":{label:"Media Devices Count",description:"Number of cameras, microphones available",info:"Real devices usually have 1-3. Headless typically has 0"},"media-battery":{label:"Battery API",description:"navigator.getBattery() API availability",good:"Battery API available",bad:"Missing - common in VMs or headless browsers"},"fp-canvas":{label:"Canvas Available",description:"HTML5 Canvas API for 2D/3D graphics",good:"Canvas works normally",bad:"Canvas missing or behaving abnormally"},"fp-audio":{label:"Audio Context",description:"Web Audio API for sound processing",good:"Audio Context available",bad:"Missing - unusual for modern browsers"},"fp-fonts":{label:"Fonts Detected",description:"Number of system fonts detected via canvas measurement",info:"Normal systems have 8+ fonts. Headless typically <3 fonts"},platform:{label:"Platform",description:"navigator.platform - operating system identifier",info:"Shows OS platform. Should match User-Agent OS claim"},"cpu-cores":{label:"CPU Cores",description:"navigator.hardwareConcurrency - logical CPU cores",info:"Real machines: 2-32 cores. VMs often have fewer"},"device-memory":{label:"Device Memory",description:"navigator.deviceMemory - RAM in GB (approximate)",info:"Real devices: 4-64 GB. Headless/VMs may report different values"},"touch-points":{label:"Touch Points",description:"navigator.maxTouchPoints - max simultaneous touches",info:"Desktop: 0, Mobile: 5-10, Tablets: 10+"}};const r={"webdriver-status":e.webdriver,"cdp-detected":e.cdpArtifacts?.detected,"cdp-keys":e.cdpArtifacts?.cdcKeysFound,"ua-suspicious":e.userAgentFlags?.suspicious,"webgl-supported":e.webglFlags?.supported,"webgl-software":e.webglFlags?.isSoftwareRenderer,"webgl-rendering-test":e.webglFlags?.renderingTest?.suspicious,"worker-available":e.workerChecks?.available,"worker-mismatch":e.workerChecks?.userAgentMismatch,"emoji-rendered":e.fingerprintChecks?.canvas?.emojiCheck?.rendered,"emoji-suspicious":e.fingerprintChecks?.canvas?.emojiCheck?.suspicious,"outer-dims":e.headlessIndicators?.hasOuterDimensions,"inner-outer":e.headlessIndicators?.innerEqualsOuter,"languages-check":e.automationFlags?.languages,"media-devices":e.headlessIndicators?.hasMediaDevices,"adv-stacktrace":e.advancedChecks?.stackTrace?.cdpDetected,"adv-runtime":e.advancedChecks?.chromeRuntime?.missing,"adv-permissions":e.advancedChecks?.permissions?.deniedByDefault,"adv-console":e.advancedChecks?.consoleDebug?.detected,"media-webrtc":e.mediaChecks?.webrtc?.suspicious,"media-battery":!e.mediaChecks?.battery?.available,"fp-canvas":e.fingerprintChecks?.canvas?.available,"fp-audio":e.fingerprintChecks?.audioContext?.available,"plugins-count":e.automationFlags?.plugins};if(Object.keys(r).forEach((e=>{const n=r[e],a=o[e];if(!a)return;const s=function(e,t){if(null==t||"N/A"===t)return null;if("boolean"==typeof t){const i=["webgl-supported","worker-available","emoji-rendered","outer-dims","languages-check","media-devices","fp-canvas","fp-audio"].includes(e);return i&&!t||!i&&t?"bad":"good"}if("YES"===t||"NO"===t){const i=["webgl-supported","worker-available","emoji-rendered","outer-dims","languages-check","media-devices","fp-canvas","fp-audio"].includes(e);return i&&"NO"===t?"bad":i||"YES"!==t?"good":"bad"}if("number"==typeof t){if("cdp-keys"===e&&t>0)return"bad";if("plugins-count"===e&&0===t)return"warning"}return null}(e,n);if("bad"===s){const i=["cdp-detected","cdp-keys","webdriver-status","adv-stacktrace","worker-mismatch","emoji-suspicious","webgl-rendering-test"].includes(e)?"critical":"high";t.push({category:a.label,severity:i,message:a.bad||a.description,checkId:e,value:n})}else"warning"===s&&i.push({category:a.label,severity:"medium",message:a.description,checkId:e,value:n,note:a.info||a.bad})})),e.cdpArtifacts?.signals?.length>0){const i=t.find((e=>"cdp-detected"===e.checkId));i&&(i.signals=e.cdpArtifacts.signals,i.message+=` (${e.cdpArtifacts.cdcKeysFound} CDC keys)`)}if(e.userAgentFlags?.matches?.length>0){const i=t.find((e=>"ua-suspicious"===e.checkId));i&&(i.patterns=e.userAgentFlags.matches)}if(e.webglFlags?.renderer&&e.webglFlags?.isSoftwareRenderer){const i=t.find((e=>"webgl-software"===e.checkId));i&&(i.renderer=e.webglFlags.renderer)}const n=e.isHeadless;return{score:n,classification:n>.7?"Definitely Headless":n>.5?"Likely Headless":n>.3?"Suspicious":n>.15?"Minor Warnings":"Normal Browser",detections:t,warnings:i,totalIssues:t.length+i.length,riskLevel:n>.5?"high":n>.3?"medium":"low",recommendation:n>.5?"Strong automation signals detected. High probability of bot/headless browser.":n>.3?"Some automation indicators present. Further investigation recommended.":"Browser appears normal with minimal or no automation signals."}}(A),e&&"undefined"!=typeof window&&(window.__headlessDetection=A,window.__headlessDetectionScore=A.isHeadless,document.documentElement&&(document.documentElement.setAttribute("data-headless-score",A.isHeadless.toFixed(3)),document.documentElement.setAttribute("data-headless-detected",A.isHeadless>.5?"true":"false"),document.documentElement.setAttribute("data-detection-version",A.detectionVersion))),A}async function n(e=null){let t=0;a()&&(t+=.2);const i=c();i.detected&&(t+=.25,i.signals.includes("chromedriver_cdc")&&(t+=.1),i.signals.includes("puppeteer_eval")&&(t+=.1));const o=d();0===o.plugins&&(t+=.07),o.languages||(t+=.07),(o.__playwright__binding__||o.__pwInitScripts)&&(t+=.3),o.playwrightExposedFunctions&&o.playwrightExposedFunctions.detected&&(t+=.25);const r=l();r.hasOuterDimensions||(t+=.1),r.innerEqualsOuter&&(t+=.03),u().suspicious&&(t+=.12);const n=p();n.isSoftwareRenderer&&(t+=.1),n.renderingTest&&n.renderingTest.suspicious&&(t+=.12);const s=m();s.permissions&&s.permissions.deniedByDefault&&(t+=.06),s.chromeRuntime&&s.chromeRuntime.suspicious&&(t+=.05),s.stackTrace&&s.stackTrace.cdpDetected&&(t+=.12);const _=f();_.webrtc&&_.webrtc.suspicious&&(t+=.08),_.mediaDevices&&_.mediaDevices.suspicious&&(t+=.06);const h=y();return h.canvas&&h.canvas.suspicious&&(t+=.07),h.audioContext&&h.audioContext.suspicious&&(t+=.05),h.fonts&&h.fonts.suspicious&&(t+=.08),(e||await E()).userAgentMismatch&&(t+=.15),Math.min(1,t)}function a(){try{return!!(navigator.webdriver||window.document.__webdriver_evaluate||window.document.__selenium_evaluate||window.document.__webdriver_script_fn||window.document.__webdriver_script_func||window.document.__webdriver_script_function||window.document.$cdc_asdjflasutopfhvcZLmcfl_||window.document.$wdc_||window._Selenium_IDE_Recorder||window._phantom||window.__nightmare||window.callPhantom||window._phantom||window.__playwright__binding__||window.__pwInitScripts)}catch(e){return!1}}function s(){try{let e=0;const t=[],i=["_calculateHeadlessScore","_detectWebdriver","_detectPlaywrightExposedFunctions","_getAutomationFlags","_detectCDP","_getHeadlessIndicators","_checkUserAgent","_checkWebGL","_getAdvancedChecks","_getMediaChecks","_getFingerprintChecks","_getWorkerChecks","_getWorkerChecksSync","_getDetectionExplanations","_generateDetectionSummary","_checkCanvas","_checkAudioContext","_checkFonts","_simpleHash","_checkEmojiRendering","_performWebGLRenderingTest","_checkMediaDevices","_checkWebRTC","_checkBattery","_detectCDPStackTrace","_checkChromeRuntime","_checkPermissions","_detectConsoleDebugLeak","_getCheckItemExplanations","detectHeadless","HeadlessDetector"];return Object.entries(window).forEach((([o,r])=>{if(!i.includes(o)&&!(o.startsWith("_")&&o.includes("Headless")||"HeadlessDetector"===o||"function"!=typeof r)){let i=!1;"boolean"==typeof r.__installed&&(i=!0);try{const e=r.toString();(e.includes("exposeBindingHandle supports a single argument")||e.includes("serializeAsCallArgument")||e.includes("globalThis[bindingName]")||e.includes('me["callbacks"]')||e.includes('me["lastSeq"]'))&&(i=!0)}catch(e){}i&&!t.includes(o)&&(e++,t.push(o))}})),{detected:e>0,count:e,functions:t.slice(0,5)}}catch(e){return{detected:!1,count:0,error:e.message}}}function d(){try{return{webdriver:!!navigator.webdriver,domAutomation:!!window.domAutomation,domAutomationController:!!window.domAutomationController,_selenium:!!window._selenium,__webdriver_script_fn:!!window.__webdriver_script_fn,__driver_evaluate:!!window.__driver_evaluate,__webdriver_evaluate:!!window.__webdriver_evaluate,__fxdriver_evaluate:!!window.__fxdriver_evaluate,__driver_unwrapped:!!window.__driver_unwrapped,__webdriver_unwrapped:!!window.__webdriver_unwrapped,__fxdriver_unwrapped:!!window.__fxdriver_unwrapped,_Selenium_IDE_Recorder:!!window._Selenium_IDE_Recorder,calledSelenium:!!window.calledSelenium,$chrome_asyncScriptInfo:!!window.$chrome_asyncScriptInfo,$cdc_asdjflasutopfhvcZLmcfl_:!!window.$cdc_asdjflasutopfhvcZLmcfl_,__playwright:!!window.__playwright,playwrightGlobal:void 0!==window.playwright,__playwright__binding__:"__playwright__binding__"in window,__pwInitScripts:"__pwInitScripts"in window,playwrightExposedFunctions:s(),plugins:navigator.plugins?navigator.plugins.length:0,languages:navigator.languages&&navigator.languages.length>0,mimeTypes:navigator.mimeTypes?navigator.mimeTypes.length:0,cookieEnabled:navigator.cookieEnabled,doNotTrack:navigator.doNotTrack,chrome:!!window.chrome,chromeRuntime:!!(window.chrome&&window.chrome.runtime&&window.chrome.runtime.id),permissionsAPI:!!navigator.permissions}}catch(e){return{error:!0}}}function c(){try{const e=[],t=Object.keys(window).filter((e=>e.startsWith("cdc_")));t.length>0&&e.push("chromedriver_cdc"),"__webdriver_evaluate"in window&&e.push("selenium_evaluate"),"__driver_evaluate"in window&&e.push("selenium_driver_evaluate"),"__webdriver_unwrapped"in window&&e.push("selenium_unwrapped"),"__driver_unwrapped"in window&&e.push("selenium_driver_unwrapped"),"__selenium_evaluate"in window&&e.push("selenium_direct"),"__fxdriver_evaluate"in window&&e.push("firefox_driver"),"__fxdriver_unwrapped"in window&&e.push("firefox_driver_unwrapped"),"__puppeteer_evaluation_script__"in window&&e.push("puppeteer_eval"),document.__webdriver_script_fn&&e.push("cdp_script_injection");try{const t=Object.getOwnPropertyDescriptor(navigator,"webdriver");t&&"function"==typeof t.get&&-1===t.get.toString().indexOf("[native code]")&&e.push("webdriver_getter_modified")}catch(e){}return{detected:e.length>0,signals:e,cdcKeysFound:t.length}}catch(e){return{detected:!1,signals:[],error:!0}}}function l(){try{return{hasOuterDimensions:window.outerWidth>0&&window.outerHeight>0,innerEqualsOuter:window.innerWidth===window.outerWidth&&window.innerHeight===window.outerHeight,outerWidth:window.outerWidth,outerHeight:window.outerHeight,innerWidth:window.innerWidth,innerHeight:window.innerHeight,screenColorDepth:window.screen.colorDepth,screenPixelDepth:window.screen.pixelDepth,screenWidth:screen.width,screenHeight:screen.height,devicePixelRatio:window.devicePixelRatio,connectionType:navigator.connection?navigator.connection.type:"unknown",connectionRtt:navigator.connection?navigator.connection.rtt:-1,connectionDownlink:navigator.connection?navigator.connection.downlink:-1,notificationPermission:"undefined"!=typeof Notification?Notification.permission:"unsupported",hasBattery:"getBattery"in navigator,hasCredentials:"credentials"in navigator,hasMediaDevices:"mediaDevices"in navigator,hasServiceWorker:"serviceWorker"in navigator,language:navigator.language,languages:navigator.languages?Array.from(navigator.languages):[],languageCount:navigator.languages?navigator.languages.length:0,platform:navigator.platform,hardwareConcurrency:navigator.hardwareConcurrency,deviceMemory:navigator.deviceMemory,maxTouchPoints:navigator.maxTouchPoints||0,timezone:Intl.DateTimeFormat().resolvedOptions().timeZone,timezoneOffset:(new Date).getTimezoneOffset()}}catch(e){return{error:!0}}}function u(){try{const e=navigator.userAgent,t=[/headless/i,/HeadlessChrome/i,/selenium/i,/webdriver/i,/puppeteer/i,/playwright/i,/cypress/i,/nodriver/i,/undetected/i,/bot/i,/crawl/i,/spider/i],i=[];for(const o of t)o.test(e)&&i.push(o.toString());const o=function(){try{const e={platform:navigator.userAgentData?.platform||navigator.platform,mobile:navigator.userAgentData?.mobile,brands:navigator.userAgentData?.brands||[]};return{suspicious:e.brands.some((e=>e.brand&&e.brand.toLowerCase().includes("headless"))),platform:e.platform,mobile:e.mobile,brands:e.brands.map((e=>e.brand))}}catch(e){return{suspicious:!1,error:!0}}}();return{suspicious:i.length>0||o.suspicious,matches:i,userAgent:e,clientHints:o}}catch(e){return{suspicious:!1,matches:[],error:!0}}}function p(){try{const e=document.createElement("canvas"),t=e.getContext("webgl")||e.getContext("experimental-webgl");if(!t)return{supported:!1};const i=t.getExtension("WEBGL_debug_renderer_info"),o=i?t.getParameter(i.UNMASKED_VENDOR_WEBGL):"unknown",r=i?t.getParameter(i.UNMASKED_RENDERER_WEBGL):"unknown",n=r.toLowerCase(),a=n.includes("swiftshader")||n.includes("llvmpipe")||n.includes("softpipe")||n.includes("virtualbox")||n.includes("vmware")||n.includes("mesa"),s=function(e,t,i){try{const t=new Float32Array([-1,-1,1,1,-1,1,1,1,1,-1,1,1,-1,-1,-1,-1,1,-1,1,1,-1,1,-1,-1]),o=e.createBuffer();e.bindBuffer(e.ARRAY_BUFFER,o),e.bufferData(e.ARRAY_BUFFER,t,e.STATIC_DRAW);const r=e.createShader(e.VERTEX_SHADER);e.shaderSource(r,"\n attribute vec3 position;\n void main() {\n gl_Position = vec4(position * 0.5, 1.0);\n }\n "),e.compileShader(r);const n=e.createShader(e.FRAGMENT_SHADER);e.shaderSource(n,"\n precision mediump float;\n void main() {\n gl_FragColor = vec4(0.2, 0.5, 0.8, 1.0);\n }\n "),e.compileShader(n);const a=e.createProgram();e.attachShader(a,r),e.attachShader(a,n),e.linkProgram(a),e.useProgram(a);const s=e.getAttribLocation(a,"position");e.enableVertexAttribArray(s),e.vertexAttribPointer(s,3,e.FLOAT,!1,0,0),e.clearColor(0,0,0,1),e.clear(e.COLOR_BUFFER_BIT),e.drawArrays(e.TRIANGLES,0,6);const d=new Uint8Array(e.drawingBufferWidth*e.drawingBufferHeight*4);e.readPixels(0,0,e.drawingBufferWidth,e.drawingBufferHeight,e.RGBA,e.UNSIGNED_BYTE,d);const c=D(Array.from(d.slice(0,1e3)).join(","));let l=0;for(let e=0;e5&&l++;const u=l/(d.length/4),p=/nvidia|geforce|rtx|gtx|radeon|rx /i.test(i),m=u>.1;return{hash:c,noiseRatio:u.toFixed(4),suspicious:p&&m,reason:p&&m?`High noise (${(100*u).toFixed(2)}%) inconsistent with claimed GPU: ${i}`:"Rendering appears consistent"}}catch(e){return{suspicious:!1,error:e.message}}}(t,0,r);return{supported:!0,vendor:o,renderer:r,version:t.getParameter(t.VERSION),shadingVersion:t.getParameter(t.SHADING_LANGUAGE_VERSION),isSoftwareRenderer:a,renderingTest:s,suspicious:a||Boolean(s?.suspicious)}}catch(e){return{supported:!1,error:!0}}}function m(){return{stackTrace:_(),chromeRuntime:h(),permissions:w(),consoleDebug:g()}}function _(){try{let e=!1;const t=new Error;return Object.defineProperty(t,"stack",{configurable:!1,enumerable:!1,get:()=>(e=!0,"")}),console.debug(t),{cdpDetected:e,method:"stack_trace_leak"}}catch(e){return{cdpDetected:!1,error:!0}}}function h(){try{const e=!!window.chrome,t=!(!window.chrome||!window.chrome.runtime);return{hasChrome:e,hasRuntime:t,hasRuntimeId:!!(window.chrome&&window.chrome.runtime&&window.chrome.runtime.id),missing:e&&!t,suspicious:!1}}catch(e){return{error:!0}}}function w(){try{if(!navigator.permissions)return{available:!1};const e="undefined"!=typeof Notification&&"denied"===Notification.permission;return{available:!0,notificationPermission:"undefined"!=typeof Notification?Notification.permission:"unsupported",deniedByDefault:e}}catch(e){return{available:!1,error:!0}}}function g(){try{let e=0;const t={};return Object.defineProperty(t,"id",{get:()=>(e++,"test")}),console.debug(t),{detected:e>1,accessCount:e,method:"console_debug_leak"}}catch(e){return{detected:!1,error:!0}}}function f(){return{mediaDevices:b(),webrtc:v(),battery:k()}}function b(){try{return navigator.mediaDevices?{available:!0,enumerateDevices:"function"==typeof navigator.mediaDevices.enumerateDevices,getUserMedia:"function"==typeof navigator.mediaDevices.getUserMedia,suspicious:!1}:{available:!1,suspicious:!0}}catch(e){return{available:!1,error:!0,suspicious:!0}}}function v(){try{const e=!!window.RTCPeerConnection,t=!(!navigator.mediaDevices||!navigator.mediaDevices.getUserMedia);let i=!1;try{new RTCPeerConnection}catch(e){i=!0}return{available:e,getUserMedia:t,disabled:i,suspicious:i||!t}}catch(e){return{available:!1,error:!0,suspicious:!0}}}function k(){try{return{available:"getBattery"in navigator,suspicious:!1}}catch(e){return{available:!1,error:!0}}}function y(){return{canvas:S(),audioContext:A(),fonts:C()}}function S(){try{const e=document.createElement("canvas");e.width=200,e.height=50;const t=e.getContext("2d");if(!t)return{available:!1,suspicious:!0};t.textBaseline="top",t.font="14px Arial",t.fillStyle="#f60",t.fillRect(125,1,62,20),t.fillStyle="#069",t.fillText("HeadlessTest 😀🎨",2,15),t.fillStyle="rgba(102, 204, 0, 0.7)",t.fillText("HeadlessTest",4,17);const i=e.toDataURL();let o=0;for(let e=0;e-1}const n=function(){try{const e=document.createElement("canvas");e.width=100,e.height=100;const t=e.getContext("2d");if(!t)return{suspicious:!1,reason:"Cannot test emoji"};t.font="48px Arial",t.fillText("😀🎨🌍",10,50);const i=t.getImageData(0,0,100,100),o=D(Array.from(i.data).join(",")),r=navigator.userAgent.toLowerCase(),n=r.includes("windows"),a=r.includes("mac os"),s=r.includes("linux")&&!r.includes("android"),d=r.includes("android"),c=/iphone|ipad|ipod/.test(r);return i.data.every(((e,t,i)=>e===i[0]))?{suspicious:!0,reason:"Emoji not rendered - possible headless",hash:o,detectedOS:"none"}:{suspicious:!1,hash:o,detectedOS:n?"Windows":a?"macOS":s?"Linux":d?"Android":c?"iOS":"Unknown",rendered:!0}}catch(e){return{suspicious:!1,error:e.message}}}();return{available:!0,hash:o.toString(16),dataLength:i.length,hasNoise:r,emojiCheck:n,suspicious:i.length<100||r||n.suspicious}}catch(e){return{available:!1,error:!0,suspicious:!0}}}function A(){try{const e=window.AudioContext||window.webkitAudioContext;if(!e)return{available:!1,suspicious:!0};const t=new e,i={available:!0,sampleRate:t.sampleRate,state:t.state,baseLatency:t.baseLatency,suspicious:44100!==t.sampleRate&&48e3!==t.sampleRate};return t.close(),i}catch(e){return{available:!1,error:!0,suspicious:!0}}}function C(){try{const e=["monospace","sans-serif","serif"],t="mmmmmmmmmmlli",i="72px",o=["Arial","Verdana","Times New Roman","Courier New","Georgia","Comic Sans MS","Trebuchet MS","Impact"],r=document.createElement("canvas").getContext("2d"),n={};e.forEach((e=>{r.font=`${i} ${e}`,n[e]=r.measureText(t).width}));let a=0;return o.forEach((o=>{e.some((e=>(r.font=`${i} '${o}', ${e}`,r.measureText(t).width!==n[e])))&&a++})),{available:!0,detectedCount:a,totalTested:o.length,suspicious:a<3}}catch(e){return{available:!1,error:!0,suspicious:!1}}}function D(e){let t=0;for(let i=0;i{try{const t=new Blob(["\n self.onmessage = function() {\n self.postMessage({\n userAgent: navigator.userAgent,\n platform: navigator.platform\n });\n };\n "],{type:"application/javascript"}),i=URL.createObjectURL(t),o=new Worker(i),r=setTimeout((()=>{o.terminate(),URL.revokeObjectURL(i),e({available:!1,userAgentMismatch:!1,platformMismatch:!1,suspicious:!1,reason:"Worker timeout"})}),1e3);o.onmessage=function(t){clearTimeout(r),o.terminate(),URL.revokeObjectURL(i);const n=t.data.userAgent,a=navigator.userAgent,s=t.data.platform,d=navigator.platform,c=n!==a,l=s!==d;e({available:!0,mainUserAgent:a,workerUserAgent:n,mainPlatform:d,workerPlatform:s,userAgentMismatch:c,platformMismatch:l,suspicious:c||l,reason:c?"User-Agent differs in Worker - automation detected":l?"Platform differs in Worker":"Consistent"})},o.onerror=function(t){clearTimeout(r),o.terminate(),URL.revokeObjectURL(i),e({available:!1,userAgentMismatch:!1,platformMismatch:!1,suspicious:!1,error:t.message,reason:"Worker error"})},o.postMessage({})}catch(t){e({available:!1,userAgentMismatch:!1,platformMismatch:!1,suspicious:!1,error:t.message,reason:"Worker creation failed"})}}))}function R(){return{"webdriver-status":{label:"WebDriver Present",description:"Indicates if navigator.webdriver flag is set to true",good:"Browser is running normally without automation framework",bad:"Automation tool (Selenium, Puppeteer) is controlling this browser"},"cdp-detected":{label:"CDP Detected",description:"Chrome DevTools Protocol connection or ChromeDriver presence",good:"No CDP artifacts found - normal browser operation",bad:"CDP-based automation detected (Puppeteer, Playwright, Selenium 4+)"},"cdp-keys":{label:"CDC Keys Found",description:"Number of ChromeDriver-specific CDC keys in window/document",good:"0 keys - no ChromeDriver injection",bad:">0 keys - ChromeDriver has injected tracking properties"},"ua-suspicious":{label:"Suspicious Patterns",description:"User-Agent contains automation/headless keywords",good:"Clean User-Agent string without automation indicators",bad:"Contains 'headless', 'HeadlessChrome', 'selenium', 'puppeteer'"},"webgl-supported":{label:"WebGL Supported",description:"Browser supports WebGL rendering API",good:"WebGL available - normal browser capability",bad:"WebGL missing - very unusual for modern browsers"},"webgl-software":{label:"Software Renderer",description:"Using CPU-based software rendering instead of GPU",good:"Hardware GPU rendering - normal desktop/laptop",bad:"Software renderer (SwiftShader, llvmpipe) - VM or headless"},"webgl-renderer":{label:"Renderer",description:"GPU vendor and model reported by WebGL",info:"Shows claimed GPU hardware. Can be spoofed but rendering test verifies it"},"webgl-rendering-test":{label:"Rendering Test",description:"Complex 3D scene rendering matches claimed GPU capabilities",good:"Rendering output consistent with reported GPU",bad:"Output doesn't match GPU specs - spoofing detected"},"webgl-noise":{label:"Noise Ratio",description:"Pixel variation in rendered output (hardware-specific)",good:"<1% noise - normal hardware rendering",bad:">2% noise - suspicious uniform output, possible emulation"},"worker-available":{label:"Worker Available",description:"Web Workers API is supported and functional",good:"Workers available - normal browser",bad:"Workers unavailable - very unusual"},"worker-mismatch":{label:"UA Mismatch",description:"User-Agent differs between main thread and Worker",good:"Consistent UA - properly patched automation or real browser",bad:"UA mismatch - automation failed to patch Worker context"},"worker-status":{label:"Status",description:"Current state of Worker UA validation",info:"Shows if check is pending, completed, or any mismatch details"},"emoji-rendered":{label:"Emoji Rendered",description:"Canvas successfully rendered emoji character",good:"Emoji rendering works - normal browser",bad:"Failed to render - missing fonts or headless"},"emoji-os":{label:"Detected OS",description:"Operating system detected from emoji rendering style",info:"Different OS render emoji differently. Should match User-Agent OS"},"emoji-suspicious":{label:"Suspicious",description:"Emoji rendering doesn't match claimed OS from User-Agent",good:"Emoji style matches reported OS",bad:"Mismatch detected - User-Agent spoofing or VM"},"outer-dims":{label:"Has Outer Dimensions",description:"window.outerWidth/outerHeight are available",good:"Outer dimensions present - normal windowed browser",bad:"Missing outer dimensions - common in headless mode"},"inner-outer":{label:"Inner = Outer",description:"Inner and outer window dimensions are identical",good:"Different dimensions - normal browser with chrome/toolbar",bad:"Identical - suspicious, may indicate headless or fullscreen automation"},dimensions:{label:"Dimensions",description:"Inner dimensions / Outer dimensions (width x height)",info:"Inner is viewport, outer includes browser chrome. Difference indicates normal browser"},"plugins-count":{label:"Plugins",description:"Number of browser plugins available",info:"Normal browsers have 3-5 plugins. Headless often has 0"},"languages-check":{label:"Languages",description:"navigator.languages array is populated",good:"Languages array present - normal browser",bad:"Empty or missing - common headless indicator"},"media-devices":{label:"Media Devices",description:"navigator.mediaDevices API is available",good:"MediaDevices API present - normal browser",bad:"Missing API - common in headless browsers"},notifications:{label:"Notifications",description:"Notification permission state (granted/denied/default)",info:"Headless often defaults to 'denied', normal browsers to 'default'"},"flag-domautomation":{label:"domAutomation",description:"Global domAutomation property - Chrome automation indicator",good:"Not present - normal browser",bad:"Present - automation framework detected"},"flag-selenium":{label:"_selenium",description:"Selenium-specific global variable",good:"Not present - normal browser",bad:"Present - Selenium WebDriver detected"},"flag-webdriver-evaluate":{label:"__webdriver_evaluate",description:"WebDriver evaluate function injection",good:"Not present - normal browser",bad:"Present - WebDriver automation detected"},"flag-phantom":{label:"_phantom",description:"PhantomJS-specific global variable",good:"Not present - normal browser",bad:"Present - PhantomJS headless browser detected"},"flag-nightmare":{label:"__nightmare",description:"Nightmare.js automation framework indicator",good:"Not present - normal browser",bad:"Present - Nightmare.js automation detected"},"flag-callphantom":{label:"callPhantom",description:"PhantomJS function for communication",good:"Not present - normal browser",bad:"Present - PhantomJS detected"},"playwright-binding":{label:"__playwright__binding__",description:"Playwright's internal binding mechanism exposed in window",good:"Not present - normal browser",bad:"Present - Playwright automation framework detected"},"playwright-initscripts":{label:"__pwInitScripts",description:"Playwright initialization scripts registry",good:"Not present - normal browser",bad:"Present - Playwright detected with init scripts"},"playwright-exposed":{label:"Exposed Functions",description:"Functions injected via page.exposeFunction() with __installed property",good:"None detected - normal browser",bad:"Detected - Playwright is using exposed bindings for automation"},"adv-stacktrace":{label:"CDP Stack Trace",description:"Error.stack accessed by CDP Runtime.enable",good:"No CDP stack trace leak detected",bad:"CDP detected via Error stack - automation using CDP protocol"},"adv-runtime":{label:"Chrome Runtime",description:"chrome.runtime extension API availability (extensions only)",good:"chrome.runtime available (running as extension)",bad:"chrome.runtime not available (normal for regular web pages)"},"adv-permissions":{label:"Permissions API",description:"navigator.permissions API behavior",good:"Permissions API works normally",bad:"Permissions denied by default - headless indicator"},"adv-console":{label:"Console Debug",description:"console.debug CDP artifact detection",good:"No console.debug leaks detected",bad:"CDP detected via console.debug modification"},"media-webrtc":{label:"WebRTC Available",description:"RTCPeerConnection API for real-time communication",good:"WebRTC available - normal browser",bad:"WebRTC disabled/missing - privacy mode or headless"},"media-devices-count":{label:"Media Devices Count",description:"Number of cameras, microphones available",info:"Real devices usually have 1-3. Headless typically has 0"},"media-battery":{label:"Battery API",description:"navigator.getBattery() API availability",good:"Battery API available",bad:"Missing - common in VMs or headless browsers"},"fp-canvas":{label:"Canvas Available",description:"HTML5 Canvas API for 2D/3D graphics",good:"Canvas works normally",bad:"Canvas missing or behaving abnormally"},"fp-audio":{label:"Audio Context",description:"Web Audio API for sound processing",good:"Audio Context available",bad:"Missing - unusual for modern browsers"},"fp-fonts":{label:"Fonts Detected",description:"Number of system fonts detected via canvas measurement",info:"Normal systems have 8+ fonts. Headless typically <3 fonts"},platform:{label:"Platform",description:"navigator.platform - operating system identifier",info:"Shows OS platform. Should match User-Agent OS claim"},"cpu-cores":{label:"CPU Cores",description:"navigator.hardwareConcurrency - logical CPU cores",info:"Real machines: 2-32 cores. VMs often have fewer"},"device-memory":{label:"Device Memory",description:"navigator.deviceMemory - RAM in GB (approximate)",info:"Real devices: 4-64 GB. Headless/VMs may report different values"},"touch-points":{label:"Touch Points",description:"navigator.maxTouchPoints - max simultaneous touches",info:"Desktop: 0, Mobile: 5-10, Tablets: 10+"}}}e.exports&&(e.exports={detectHeadless:r,getHeadlessScore:n,checkWebdriver:a,checkCDP:c,checkUserAgent:u,checkWebGL:p,getWorkerChecks:E}),"undefined"!=typeof window&&(window.detectHeadless=r,window.getWorkerChecks=E,window.HeadlessDetector={detect:r,getScore:n,getWorkerChecks:E,checks:{webdriver:a,cdp:c,userAgent:u,webgl:p,automationFlags:d,headlessIndicators:l,advanced:m,media:f,fingerprints:y}},"loading"===document.readyState?document.addEventListener("DOMContentLoaded",(()=>{window.__headlessDetectionReady=!0})):window.__headlessDetectionReady=!0)},539:(e,t,i)=>{"use strict";i.d(t,{N:()=>a});const o=new WeakMap;let r;const n="ds24_navigation_parameter_injector_installed";function a(e){if(r=e,window[n])return;window[n]=!0;const t=e=>{const t=e.target;if(!(r&&t instanceof Element))return;if(2===e.button)return;const i=t.closest("a");i&&(function(e){if(e.isContentEditable)return!0;const t=e.closest("[contenteditable]");return!!t&&"false"!==t.getAttribute("contenteditable")}(i)||r.isValidLink(i)&&(o.has(i)||(o.set(i,i.search),r.replaceLink(i),setTimeout((()=>{const e=o.get(i);o.delete(i),void 0!==e&&(i.search=e)}),0))))};document.addEventListener("mousedown",t,!0),document.addEventListener("auxclick",t,!0),document.addEventListener("click",t,!0),document.addEventListener("keydown",(e=>{"Enter"===e.key&&t(e)}),!0)}},638:e=>{function t(){try{const e=[],t=Object.keys(window).filter((e=>e.startsWith("cdc_")));t.length>0&&e.push("chromedriver_cdc"),"__webdriver_evaluate"in window&&e.push("selenium_evaluate"),"__driver_evaluate"in window&&e.push("selenium_driver_evaluate"),"__webdriver_unwrapped"in window&&e.push("selenium_unwrapped"),"__driver_unwrapped"in window&&e.push("selenium_driver_unwrapped"),"__selenium_evaluate"in window&&e.push("selenium_direct"),"__fxdriver_evaluate"in window&&e.push("firefox_driver"),"__fxdriver_unwrapped"in window&&e.push("firefox_driver_unwrapped"),"__puppeteer_evaluation_script__"in window&&e.push("puppeteer_eval"),document.__webdriver_script_fn&&e.push("cdp_script_injection");try{const t=Object.getOwnPropertyDescriptor(navigator,"webdriver");t&&"function"==typeof t.get&&-1===t.get.toString().indexOf("[native code]")&&e.push("webdriver_getter_modified")}catch(e){}return{detected:e.length>0,signals:e,cdcKeysFound:t.length}}catch(e){return{detected:!1,signals:[],error:!0}}}function i(){try{let e=!1;const t=new Error;return Object.defineProperty(t,"stack",{configurable:!1,enumerable:!1,get:()=>(e=!0,"")}),console.debug(t),{cdpDetected:e,method:"stack_trace_leak"}}catch(e){return{cdpDetected:!1,error:!0}}}function o(){try{let e=0;const t={};return Object.defineProperty(t,"id",{get:()=>(e++,"test")}),console.debug(t),{detected:e>1,accessCount:e,method:"console_debug_leak"}}catch(e){return{detected:!1,error:!0}}}e.exports&&(e.exports={detectCDP:t,detectCDPStackTrace:i,detectConsoleDebugLeak:o}),"undefined"!=typeof window&&(window.HeadlessDetectorModules=window.HeadlessDetectorModules||{},window.HeadlessDetectorModules.detectCDP=t,window.HeadlessDetectorModules.detectCDPStackTrace=i,window.HeadlessDetectorModules.detectConsoleDebugLeak=o)},1303:(e,t,i)=>{"use strict";i.d(t,{G:()=>o.sha256});var o=i(2580)},1386:()=>{"use strict";window.DIGISTORE_KEEP_AFFILIATEIN_LOCATION_HREF=!1},1545:(e,t,i)=>{"use strict";i.d(t,{L:()=>r});var o=i(8258);function r(){return function(){const e=window.UC_UI;if(!e||"function"!=typeof e.getServicesBaseInfo)return"";let t;try{t=e.getServicesBaseInfo()||[]}catch(e){return""}return t.find((e=>{var t;return-1!==(e.name||"").toLowerCase().indexOf("google analytics")&&!0===(null===(t=e.consent)||void 0===t?void 0:t.status)}))?"granted":""}()||function(){var e;const t=window.Cookiebot;if(!t||"object"!=typeof t)return"";try{return!0===(null===(e=t.consent)||void 0===e?void 0:e.statistics)?"granted":""}catch(e){return""}}()||("true"===(0,o.W)("accepts_cookies")?"granted":"")}},1925:(e,t,i)=>{"use strict";function o(e,t){var i;(null===(i=window.location.search)||void 0===i?void 0:i.match(/debug=1/))&&console.log("DEBUG:",e+"(",Array.from(t).filter((e=>void 0!==e)),")")}i.d(t,{$:()=>o})},2446:(e,t,i)=>{let o;try{o=i(167).simpleHash}catch(e){}function r(){try{const e=document.createElement("canvas"),t=64;e.width=t,e.height=t;const i=e.getContext("webgl")||e.getContext("experimental-webgl");if(!i)return{supported:!1};const o=i.getExtension("WEBGL_debug_renderer_info"),r=o?i.getParameter(o.UNMASKED_VENDOR_WEBGL):"unknown",a=o?i.getParameter(o.UNMASKED_RENDERER_WEBGL):"unknown",s=a.toLowerCase(),d=s.includes("swiftshader")||s.includes("llvmpipe")||s.includes("softpipe")||s.includes("virtualbox")||s.includes("vmware")||s.includes("mesa"),c=n(i,t,a);return{supported:!0,vendor:r,renderer:a,version:i.getParameter(i.VERSION),shadingVersion:i.getParameter(i.SHADING_LANGUAGE_VERSION),isSoftwareRenderer:d,renderingTest:c,suspicious:d||c.suspicious}}catch(e){return{supported:!1,error:!0}}}function n(e,t,i){let r,n,a,s;try{const d=new Float32Array([-1,-1,1,1,-1,1,1,1,1,-1,1,1,-1,-1,-1,-1,1,-1,1,1,-1,1,-1,-1]);if(r=e.createBuffer(),e.bindBuffer(e.ARRAY_BUFFER,r),e.bufferData(e.ARRAY_BUFFER,d,e.STATIC_DRAW),n=e.createShader(e.VERTEX_SHADER),e.shaderSource(n,"\n attribute vec3 position;\n void main() {\n gl_Position = vec4(position * 0.5, 1.0);\n }\n "),e.compileShader(n),!e.getShaderParameter(n,e.COMPILE_STATUS)){const t=e.getShaderInfoLog(n);throw new Error(`Vertex shader compilation failed: ${t}`)}if(a=e.createShader(e.FRAGMENT_SHADER),e.shaderSource(a,"\n precision mediump float;\n void main() {\n gl_FragColor = vec4(0.2, 0.5, 0.8, 1.0);\n }\n "),e.compileShader(a),!e.getShaderParameter(a,e.COMPILE_STATUS)){const t=e.getShaderInfoLog(a);throw new Error(`Fragment shader compilation failed: ${t}`)}if(s=e.createProgram(),e.attachShader(s,n),e.attachShader(s,a),e.linkProgram(s),!e.getProgramParameter(s,e.LINK_STATUS)){const t=e.getProgramInfoLog(s);throw new Error(`Program linking failed: ${t}`)}e.useProgram(s);const c=e.getAttribLocation(s,"position");e.enableVertexAttribArray(c),e.vertexAttribPointer(c,3,e.FLOAT,!1,0,0),e.viewport(0,0,t,t),e.clearColor(0,0,0,1),e.clear(e.COLOR_BUFFER_BIT),e.drawArrays(e.TRIANGLES,0,6);const l=new Uint8Array(t*t*4);e.readPixels(0,0,t,t,e.RGBA,e.UNSIGNED_BYTE,l);const u=o(Array.from(l.slice(0,1e3)).join(","));let p=0,m=0;const _=64;for(let e=0;e+45&&p++,m++;const h=m>0?p/m:0,w=/nvidia|geforce|rtx|gtx|radeon|rx /i.test(i),g=h>.1;return{hash:u,noiseRatio:h.toFixed(4),suspicious:w&&g,reason:w&&g?`High noise (${(100*h).toFixed(2)}%) inconsistent with claimed GPU: ${i}`:"Rendering appears consistent"}}catch(e){return{suspicious:!1,error:e.message}}finally{if(e)try{r&&e.deleteBuffer(r),n&&e.deleteShader(n),a&&e.deleteShader(a),s&&e.deleteProgram(s)}catch(e){}}}"undefined"!=typeof window&&window.HeadlessDetectorUtils&&(o=window.HeadlessDetectorUtils.simpleHash),o||(o=function(e){let t=0;for(let i=0;i{var __WEBPACK_AMD_DEFINE_RESULT__;(function(){"use strict";var ERROR="input is invalid type",WINDOW="object"==typeof window,root=WINDOW?window:{};root.JS_SHA256_NO_WINDOW&&(WINDOW=!1);var WEB_WORKER=!WINDOW&&"object"==typeof self,NODE_JS=!root.JS_SHA256_NO_NODE_JS&&"object"==typeof process&&process.versions&&process.versions.node;NODE_JS?root=__webpack_require__.g:WEB_WORKER&&(root=self);var COMMON_JS=!root.JS_SHA256_NO_COMMON_JS&&module.exports,AMD=__webpack_require__.amdO,ARRAY_BUFFER=!root.JS_SHA256_NO_ARRAY_BUFFER&&"undefined"!=typeof ArrayBuffer,HEX_CHARS="0123456789abcdef".split(""),EXTRA=[-2147483648,8388608,32768,128],SHIFT=[24,16,8,0],K=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298],OUTPUT_TYPES=["hex","array","digest","arrayBuffer"],blocks=[];!root.JS_SHA256_NO_NODE_JS&&Array.isArray||(Array.isArray=function(e){return"[object Array]"===Object.prototype.toString.call(e)}),!ARRAY_BUFFER||!root.JS_SHA256_NO_ARRAY_BUFFER_IS_VIEW&&ArrayBuffer.isView||(ArrayBuffer.isView=function(e){return"object"==typeof e&&e.buffer&&e.buffer.constructor===ArrayBuffer});var createOutputMethod=function(e,t){return function(i){return new Sha256(t,!0).update(i)[e]()}},createMethod=function(e){var t=createOutputMethod("hex",e);NODE_JS&&(t=nodeWrap(t,e)),t.create=function(){return new Sha256(e)},t.update=function(e){return t.create().update(e)};for(var i=0;i>6,a[d++]=128|63&n):n<55296||n>=57344?(a[d++]=224|n>>12,a[d++]=128|n>>6&63,a[d++]=128|63&n):(n=65536+((1023&n)<<10|1023&e.charCodeAt(++o)),a[d++]=240|n>>18,a[d++]=128|n>>12&63,a[d++]=128|n>>6&63,a[d++]=128|63&n);e=a}else{if("object"!==r)throw new Error(ERROR);if(null===e)throw new Error(ERROR);if(ARRAY_BUFFER&&e.constructor===ArrayBuffer)e=new Uint8Array(e);else if(!(Array.isArray(e)||ARRAY_BUFFER&&ArrayBuffer.isView(e)))throw new Error(ERROR)}e.length>64&&(e=new Sha256(t,!0).update(e).array());var c=[],l=[];for(o=0;o<64;++o){var u=e[o]||0;c[o]=92^u,l[o]=54^u}Sha256.call(this,t,i),this.update(l),this.oKeyPad=c,this.inner=!0,this.sharedMemory=i}Sha256.prototype.update=function(e){if(!this.finalized){var t,i=typeof e;if("string"!==i){if("object"!==i)throw new Error(ERROR);if(null===e)throw new Error(ERROR);if(ARRAY_BUFFER&&e.constructor===ArrayBuffer)e=new Uint8Array(e);else if(!(Array.isArray(e)||ARRAY_BUFFER&&ArrayBuffer.isView(e)))throw new Error(ERROR);t=!0}for(var o,r,n=0,a=e.length,s=this.blocks;n>2]|=e[n]<>2]|=o<>2]|=(192|o>>6)<>2]|=(128|63&o)<=57344?(s[r>>2]|=(224|o>>12)<>2]|=(128|o>>6&63)<>2]|=(128|63&o)<>2]|=(240|o>>18)<>2]|=(128|o>>12&63)<>2]|=(128|o>>6&63)<>2]|=(128|63&o)<=64?(this.block=s[16],this.start=r-64,this.hash(),this.hashed=!0):this.start=r}return this.bytes>4294967295&&(this.hBytes+=this.bytes/4294967296|0,this.bytes=this.bytes%4294967296),this}},Sha256.prototype.finalize=function(){if(!this.finalized){this.finalized=!0;var e=this.blocks,t=this.lastByteIndex;e[16]=this.block,e[t>>2]|=EXTRA[3&t],this.block=e[16],t>=56&&(this.hashed||this.hash(),e[0]=this.block,e[16]=e[1]=e[2]=e[3]=e[4]=e[5]=e[6]=e[7]=e[8]=e[9]=e[10]=e[11]=e[12]=e[13]=e[14]=e[15]=0),e[14]=this.hBytes<<3|this.bytes>>>29,e[15]=this.bytes<<3,this.hash()}},Sha256.prototype.hash=function(){var e,t,i,o,r,n,a,s,d,c=this.h0,l=this.h1,u=this.h2,p=this.h3,m=this.h4,_=this.h5,h=this.h6,w=this.h7,g=this.blocks;for(e=16;e<64;++e)t=((r=g[e-15])>>>7|r<<25)^(r>>>18|r<<14)^r>>>3,i=((r=g[e-2])>>>17|r<<15)^(r>>>19|r<<13)^r>>>10,g[e]=g[e-16]+t+g[e-7]+i|0;for(d=l&u,e=0;e<64;e+=4)this.first?(this.is224?(n=300032,w=(r=g[0]-1413257819)-150054599|0,p=r+24177077|0):(n=704751109,w=(r=g[0]-210244248)-1521486534|0,p=r+143694565|0),this.first=!1):(t=(c>>>2|c<<30)^(c>>>13|c<<19)^(c>>>22|c<<10),o=(n=c&l)^c&u^d,w=p+(r=w+(i=(m>>>6|m<<26)^(m>>>11|m<<21)^(m>>>25|m<<7))+(m&_^~m&h)+K[e]+g[e])|0,p=r+(t+o)|0),t=(p>>>2|p<<30)^(p>>>13|p<<19)^(p>>>22|p<<10),o=(a=p&c)^p&l^n,h=u+(r=h+(i=(w>>>6|w<<26)^(w>>>11|w<<21)^(w>>>25|w<<7))+(w&m^~w&_)+K[e+1]+g[e+1])|0,t=((u=r+(t+o)|0)>>>2|u<<30)^(u>>>13|u<<19)^(u>>>22|u<<10),o=(s=u&p)^u&c^a,_=l+(r=_+(i=(h>>>6|h<<26)^(h>>>11|h<<21)^(h>>>25|h<<7))+(h&w^~h&m)+K[e+2]+g[e+2])|0,t=((l=r+(t+o)|0)>>>2|l<<30)^(l>>>13|l<<19)^(l>>>22|l<<10),o=(d=l&u)^l&p^s,m=c+(r=m+(i=(_>>>6|_<<26)^(_>>>11|_<<21)^(_>>>25|_<<7))+(_&h^~_&w)+K[e+3]+g[e+3])|0,c=r+(t+o)|0;this.h0=this.h0+c|0,this.h1=this.h1+l|0,this.h2=this.h2+u|0,this.h3=this.h3+p|0,this.h4=this.h4+m|0,this.h5=this.h5+_|0,this.h6=this.h6+h|0,this.h7=this.h7+w|0},Sha256.prototype.hex=function(){this.finalize();var e=this.h0,t=this.h1,i=this.h2,o=this.h3,r=this.h4,n=this.h5,a=this.h6,s=this.h7,d=HEX_CHARS[e>>28&15]+HEX_CHARS[e>>24&15]+HEX_CHARS[e>>20&15]+HEX_CHARS[e>>16&15]+HEX_CHARS[e>>12&15]+HEX_CHARS[e>>8&15]+HEX_CHARS[e>>4&15]+HEX_CHARS[15&e]+HEX_CHARS[t>>28&15]+HEX_CHARS[t>>24&15]+HEX_CHARS[t>>20&15]+HEX_CHARS[t>>16&15]+HEX_CHARS[t>>12&15]+HEX_CHARS[t>>8&15]+HEX_CHARS[t>>4&15]+HEX_CHARS[15&t]+HEX_CHARS[i>>28&15]+HEX_CHARS[i>>24&15]+HEX_CHARS[i>>20&15]+HEX_CHARS[i>>16&15]+HEX_CHARS[i>>12&15]+HEX_CHARS[i>>8&15]+HEX_CHARS[i>>4&15]+HEX_CHARS[15&i]+HEX_CHARS[o>>28&15]+HEX_CHARS[o>>24&15]+HEX_CHARS[o>>20&15]+HEX_CHARS[o>>16&15]+HEX_CHARS[o>>12&15]+HEX_CHARS[o>>8&15]+HEX_CHARS[o>>4&15]+HEX_CHARS[15&o]+HEX_CHARS[r>>28&15]+HEX_CHARS[r>>24&15]+HEX_CHARS[r>>20&15]+HEX_CHARS[r>>16&15]+HEX_CHARS[r>>12&15]+HEX_CHARS[r>>8&15]+HEX_CHARS[r>>4&15]+HEX_CHARS[15&r]+HEX_CHARS[n>>28&15]+HEX_CHARS[n>>24&15]+HEX_CHARS[n>>20&15]+HEX_CHARS[n>>16&15]+HEX_CHARS[n>>12&15]+HEX_CHARS[n>>8&15]+HEX_CHARS[n>>4&15]+HEX_CHARS[15&n]+HEX_CHARS[a>>28&15]+HEX_CHARS[a>>24&15]+HEX_CHARS[a>>20&15]+HEX_CHARS[a>>16&15]+HEX_CHARS[a>>12&15]+HEX_CHARS[a>>8&15]+HEX_CHARS[a>>4&15]+HEX_CHARS[15&a];return this.is224||(d+=HEX_CHARS[s>>28&15]+HEX_CHARS[s>>24&15]+HEX_CHARS[s>>20&15]+HEX_CHARS[s>>16&15]+HEX_CHARS[s>>12&15]+HEX_CHARS[s>>8&15]+HEX_CHARS[s>>4&15]+HEX_CHARS[15&s]),d},Sha256.prototype.toString=Sha256.prototype.hex,Sha256.prototype.digest=function(){this.finalize();var e=this.h0,t=this.h1,i=this.h2,o=this.h3,r=this.h4,n=this.h5,a=this.h6,s=this.h7,d=[e>>24&255,e>>16&255,e>>8&255,255&e,t>>24&255,t>>16&255,t>>8&255,255&t,i>>24&255,i>>16&255,i>>8&255,255&i,o>>24&255,o>>16&255,o>>8&255,255&o,r>>24&255,r>>16&255,r>>8&255,255&r,n>>24&255,n>>16&255,n>>8&255,255&n,a>>24&255,a>>16&255,a>>8&255,255&a];return this.is224||d.push(s>>24&255,s>>16&255,s>>8&255,255&s),d},Sha256.prototype.array=Sha256.prototype.digest,Sha256.prototype.arrayBuffer=function(){this.finalize();var e=new ArrayBuffer(this.is224?28:32),t=new DataView(e);return t.setUint32(0,this.h0),t.setUint32(4,this.h1),t.setUint32(8,this.h2),t.setUint32(12,this.h3),t.setUint32(16,this.h4),t.setUint32(20,this.h5),t.setUint32(24,this.h6),this.is224||t.setUint32(28,this.h7),e},HmacSha256.prototype=new Sha256,HmacSha256.prototype.finalize=function(){if(Sha256.prototype.finalize.call(this),this.inner){this.inner=!1;var e=this.array();Sha256.call(this,this.is224,this.sharedMemory),this.update(this.oKeyPad),this.update(e),Sha256.prototype.finalize.call(this)}};var exports=createMethod();exports.sha256=exports,exports.sha224=createMethod(!0),exports.sha256.hmac=createHmacMethod(),exports.sha224.hmac=createHmacMethod(!0),COMMON_JS?module.exports=exports:(root.sha256=exports.sha256,root.sha224=exports.sha224,AMD&&(__WEBPACK_AMD_DEFINE_RESULT__=function(){return exports}.call(exports,__webpack_require__,exports,module),void 0===__WEBPACK_AMD_DEFINE_RESULT__||(module.exports=__WEBPACK_AMD_DEFINE_RESULT__)))})()},2699:(e,t,i)=>{let o;try{o=i(167).simpleHash}catch(e){}function r(){try{const e=document.createElement("canvas");e.width=100,e.height=100;const t=e.getContext("2d");if(!t)return{suspicious:!1,rendered:!1,reason:"Cannot test emoji"};t.font="48px Arial",t.fillText("😀🎨🌍",10,50);const i=t.getImageData(0,0,100,100),r=o(Array.from(i.data).join(",")),n=navigator.userAgent.toLowerCase(),a=n.includes("windows"),s=n.includes("mac os"),d=n.includes("linux")&&!n.includes("android"),c=n.includes("android"),l=/iphone|ipad|ipod/.test(n);return i.data.every(((e,t,i)=>e===i[0]))?{suspicious:!0,rendered:!1,reason:"Emoji not rendered - possible headless",hash:r,detectedOS:"none"}:{suspicious:!1,rendered:!0,hash:r,detectedOS:a?"Windows":s?"macOS":d?"Linux":c?"Android":l?"iOS":"Unknown"}}catch(e){return{suspicious:!1,rendered:!1,error:e.message}}}function n(){try{const e=document.createElement("canvas");e.width=200,e.height=50;const t=e.getContext("2d");if(!t)return{available:!1,suspicious:!0};t.textBaseline="top",t.font="14px Arial",t.fillStyle="#f60",t.fillRect(125,1,62,20),t.fillStyle="#069",t.fillText("HeadlessTest 😀🎨",2,15),t.fillStyle="rgba(102, 204, 0, 0.7)",t.fillText("HeadlessTest",4,17);const i=e.toDataURL();let o=0;for(let e=0;e-1}const s=r();return{available:!0,hash:n,dataLength:i.length,hasNoise:a,emojiCheck:s,suspicious:i.length<100||a||s.suspicious}}catch(e){return{available:!1,error:!0,suspicious:!0}}}function a(){try{const e=window.AudioContext||window.webkitAudioContext;if(!e)return{available:!1,suspicious:!0};const t=new e,i={available:!0,sampleRate:t.sampleRate,state:t.state,baseLatency:t.baseLatency,suspicious:44100!==t.sampleRate&&48e3!==t.sampleRate};return t.close(),i}catch(e){return{available:!1,error:!0,suspicious:!0}}}function s(){try{const e=["monospace","sans-serif","serif"],t="mmmmmmmmmmlli",i="72px",o=["Arial","Verdana","Times New Roman","Courier New","Georgia","Comic Sans MS","Trebuchet MS","Impact"],r=document.createElement("canvas").getContext("2d"),n={};e.forEach((e=>{r.font=`${i} ${e}`,n[e]=r.measureText(t).width}));let a=0;return o.forEach((o=>{e.some((e=>(r.font=`${i} '${o}', ${e}`,r.measureText(t).width!==n[e])))&&a++})),{available:!0,detectedCount:a,totalTested:o.length,suspicious:a<3}}catch(e){return{available:!1,error:!0,suspicious:!1}}}function d(){return{canvas:n(),audioContext:a(),fonts:s()}}"undefined"!=typeof window&&window.HeadlessDetectorUtils&&(o=window.HeadlessDetectorUtils.simpleHash),o||(o=function(e){let t=0;for(let i=0;i{"use strict";i.d(t,{T:()=>o});class o{constructor(e){this.appender=e}isValidLink(){return!1}replaceLink(){}isValidUrl(e){return this.appender.isValidUrl(e)}replaceUrl(e){return this.appender.replaceUrl(e)}}},3355:(e,t,i)=>{"use strict";let o;function r(e=""){return void 0===o&&(o=0),"id"+(new Date).getTime()+"_"+Math.round(1e4*Math.random())+"_"+o++}i.d(t,{y:()=>r})},3377:(e,t,i)=>{"use strict";function o(e){return(e=["#","?"].indexOf(e[0])>=0?e.slice(1):e).split("&").reduce(((e,t)=>{if(""===t)return e;const i=t.indexOf("="),o=i>=0?t.slice(0,i):t,r=i>=0?t.slice(i+1):"";try{e[decodeURIComponent(o)]=decodeURIComponent(r)}catch(t){e[o]=r}return e}),{})}i.d(t,{S:()=>o})},3529:e=>{function t(){const e=(e={})=>({available:!1,userAgentMismatch:!1,platformMismatch:!1,suspicious:!1,reason:"",mainUserAgent:null,workerUserAgent:null,mainPlatform:null,workerPlatform:null,error:null,...e});return new Promise((t=>{let i=null;try{const o=new Blob(["\n self.onmessage = function() {\n self.postMessage({\n userAgent: navigator.userAgent,\n platform: navigator.platform\n });\n };\n "],{type:"application/javascript"});i=URL.createObjectURL(o);const r=new Worker(i),n=setTimeout((()=>{r.terminate(),URL.revokeObjectURL(i),t(e({reason:"Worker timeout"}))}),1e3);r.onmessage=function(o){clearTimeout(n),r.terminate(),URL.revokeObjectURL(i);const a=o.data.userAgent,s=navigator.userAgent,d=o.data.platform,c=navigator.platform,l=a!==s,u=d!==c;t(e({available:!0,mainUserAgent:s,workerUserAgent:a,mainPlatform:c,workerPlatform:d,userAgentMismatch:l,platformMismatch:u,suspicious:l||u,reason:l?"User-Agent differs in Worker - automation detected":u?"Platform differs in Worker":"Consistent"}))},r.onerror=function(o){clearTimeout(n),r.terminate(),URL.revokeObjectURL(i),t(e({error:o.message,reason:"Worker error"}))},r.postMessage({})}catch(o){i&&URL.revokeObjectURL(i),t(e({error:o.message,reason:"Worker creation failed"}))}}))}e.exports&&(e.exports={getWorkerChecks:t}),"undefined"!=typeof window&&(window.HeadlessDetectorModules=window.HeadlessDetectorModules||{},window.HeadlessDetectorModules.getWorkerChecks=t)},4378:(e,t,i)=>{"use strict";i.d(t,{_I:()=>o,fr:()=>n,gD:()=>a,l2:()=>r});const o=["https://www.digistore24.com","https://www.checkout-ds24.com"];function r(e){e.startsWith("http")||(e="https://"+e),o.push(e.replace(/\/+$/,""))}function n(){return void 0!==window.DIGISTORE_ROOT_URL?window.DIGISTORE_ROOT_URL.replace(/\/$/,""):"https://www.checkout-ds24.com"}function a(e){console.log("Digistore24 - using test root url: ",e),window.DIGISTORE_ROOT_URL=e}},4588:(e,t,i)=>{"use strict";function o(e,t,i){return void 0===e[t]?i:e[t]}i.d(t,{N:()=>o})},4991:e=>{function t(){try{const e=navigator.userAgent,t=[/headless/i,/HeadlessChrome/i,/selenium/i,/webdriver/i,/puppeteer/i,/playwright/i,/cypress/i,/nodriver/i,/undetected/i,/bot/i,/crawl/i,/spider/i],o=[];for(const i of t)i.test(e)&&o.push(i.toString());const r=i();return{suspicious:o.length>0||r.suspicious,matches:o,userAgent:e,clientHints:r}}catch(e){return{suspicious:!1,matches:[],error:!0}}}function i(){try{const e={platform:navigator.userAgentData?.platform||navigator.platform,mobile:navigator.userAgentData?.mobile,brands:navigator.userAgentData?.brands||[]};return{suspicious:e.brands.some((e=>e.brand&&e.brand.toLowerCase().includes("headless"))),platform:e.platform,mobile:e.mobile,brands:e.brands.map((e=>e.brand))}}catch(e){return{suspicious:!1,error:!0}}}e.exports&&(e.exports={checkUserAgent:t,checkClientHints:i}),"undefined"!=typeof window&&(window.HeadlessDetectorModules=window.HeadlessDetectorModules||{},window.HeadlessDetectorModules.checkUserAgent=t,window.HeadlessDetectorModules.checkClientHints=i)},5389:(e,t,i)=>{"use strict";i.d(t,{Dv:()=>A,hZ:()=>O,kt:()=>E});var o=i(5482),r=i(6216),n=i(4378),a=i(1303),s=i(6210),d=i(9769),c=i(6008),l=i(7508),u=i(539),p=i(2786),m=i(9561),_=i(3377),h=i(8258),w=i(193),g=i(7334),f=i(1545);const b=new d.N;let v={},k=!1,y="",S="";function A(e,t){e&&(y=e,l.Vk.promo_parameter.ga_cid=e),t&&(S=t,l.Vk.promo_parameter.ga_sid=t),C()}function C(){l.Vk.promo_code_loaded&&b.run()}const D=[l.Vk.ga_cid_key,l.Vk.ga_sid_key,l.Vk.cs_analytics_key];function E(){return(0,o.sH)(this,void 0,void 0,(function*(){yield function(){return(0,o.sH)(this,void 0,void 0,(function*(){var e,t;if(void 0===window.DIGISTORE_PRODUCT_ID)return;const i=O(),o=Object.assign({},i),d={link_id:l.Vk.link_id_keys,utm_data:l.Vk.utm_keys,click_amt:l.Vk.click_amt_keys};Object.keys(d).forEach((e=>{o[e]=d[e].reduce(((e,t)=>{var i;return e+=(null!==(i=o[t])&&void 0!==i?i:"")+l.Vk.link_id_sep,delete o[t],e}),""),o[e].match(new RegExp("^"+l.Vk.link_id_sep+"+$"))&&(o[e]="")}));const c=null!==(e=o[l.Vk.vendor_key])&&void 0!==e?e:"",u=o[l.Vk.affiliate_key],p=o[l.Vk.campaignkey_key],m=o[l.Vk.email_key],_=o.link_id,g=o.utm_data,f=o.click_amt,b=o[l.Vk.promolink_domain_key];let k=0;try{k=null!==(t=(yield(0,w.detectHeadless)()).isHeadless)&&void 0!==t?t:0}catch(e){console.warn("Bot detection failed:",e)}const y="group_sids="+_+"&ds24tr="+c+"&ds24utm="+g+"&ds24cmt="+f+"&ds24domain="+encodeURIComponent(null!=b?b:document.referrer)+"&ds24ref="+encodeURIComponent(document.referrer)+"&ds24tm="+k,S=R();if(function(){var e,t;try{const i=l.Vk.promo_parameter,o=null===(e=window.sessionStorage)||void 0===e?void 0:e.getItem(l.Jm),r=JSON.parse(o);if((null==r?void 0:r.parameter)&&JSON.stringify(r.parameter)===JSON.stringify(i))return!1;const n=null===(t=window.localStorage)||void 0===t?void 0:t.getItem(l.jC),a=JSON.parse(n);if((null==a?void 0:a.parameter)&&JSON.stringify(a.parameter)===JSON.stringify(i))return!1;const s=(0,h.W)(l.x6),d=JSON.parse(s);if((null==d?void 0:d.parameter)&&JSON.stringify(d.parameter)===JSON.stringify(i))return!1}catch(e){}return!0}()){let e,t=H(l.Vk.checkout_domain)||(0,n.fr)();try{const i=yield(0,s.E)({url:I(t,u,p,y,"json")+"&get_domain=1",dataType:"jsonp",error:e=>{console.error("PromoPixel JSONP failed",e)}});v[t]=!0,e=null==i?void 0:i.can_store,(null==i?void 0:i.orderform_domain)&&(l.Vk.checkout_domain&&H(l.Vk.checkout_domain)!==i.orderform_domain&&console.warn(`You are not allowed to use checkout_domain=${H(l.Vk.checkout_domain)}, please use ${i.orderform_domain} when you configure your promo code!`),t=i.orderform_domain)}catch(i){console.warn("Primary PromoPixel request failed, retrying with root domain.",`\nFailed domain: ${t}`,`\nAffiliate: ${u||"NOT_SET"}`,`\nCampaign: ${p||"NOT_SET"}`,"\nVendor hint: Check your Configuration.checkout_domain setting and ensure the domain is accessible.",`\nCurrent checkout_domain: ${l.Vk.checkout_domain||"NOT_SET"}`,i);try{const i=yield(0,s.E)({url:I((0,n.fr)(),u,p,y,"json")+"&get_domain=1",dataType:"jsonp"});e=null==i?void 0:i.can_store,v[(0,n.fr)()]=!0,t=(null==i?void 0:i.orderform_domain)?i.orderform_domain:(0,n.fr)()}catch(e){console.warn("Fallback PromoPixel request also failed. Using root domain only.",e),t=(0,n.fr)()}}S.can_store=e,S.orderform_domain=t,function(e,t,i,o,r=!0){if(void 0===v[e]){v[e]=!0;const n=I(e,t,i,o+(r?"&skip_count=1":"")),a=document.createElement("img");a.id="digistore_promopixel",a.setAttribute("style","width: 1px !important; height: 1px !important; padding: 0 !important; margin: 0 !important; display: block !important; position: absolute !important; bottom: 0 !important; right: 0 !important; z-index: -1 !important; border: none !important; background: transparent !important;"),a.setAttribute("src",n),document.body.appendChild(a)}}(H(t),u,p,y,!0),function(e,t,i,o,r){if(t&&i){const n=e+"/buy/promolink/get_onetime_pass/"+(0,a.G)(t);(0,s.E)({url:n,dataType:"json",success:n=>{const s=e+"/buy/promolink/email/"+i+"/"+(o||"CAMPAIGNKEY")+"/"+window.DIGISTORE_PRODUCT_ID+"/"+(0,a.G)(t)+"/"+n.password+".png?"+r,d=document.createElement("img");d.id="digistore_promopixel_email",d.setAttribute("style","width: 1px !important; height: 1px !important; padding: 0 !important; margin: 0 !important; display: block !important; position: absolute !important; bottom: 0 !important; right: 0 !important; z-index: -1 !important; border: none !important; background: transparent !important;"),d.setAttribute("src",s),document.body.appendChild(d)}})}}(H(t),m,u,p,y),S.loaded=!0}S.parameter=l.Vk.promo_parameter,S.orderform_domain&&(l.Vk.orderform_domain=S.orderform_domain,n._I.indexOf(window.location.protocol+"//"+S.orderform_domain)<0&&(0,n.l2)(window.location.protocol+"//"+S.orderform_domain)),l.Vk.promo_code_loaded=!0;const A=JSON.stringify({parameter:i});if(S.can_store)try{window.localStorage.setItem(l.jC,A)}catch(e){}(0,h.D)(l.x6,A,!1===S.can_store?0:7);try{window.sessionStorage.setItem(l.Jm,JSON.stringify(S))}catch(e){}return(0,r.f)([l.Vk.vendor_key,l.Vk.affiliate_key,l.Vk.campaignkey_key,l.Vk.link_id_keys,l.Vk.click_amt_keys,l.Vk.promolink_domain_key,l.Vk.ga_cid_key,l.Vk.ga_sid_key,l.Vk.cs_analytics_key]),o}))}(),l.Vk.adjust_domain&&b.add(new m.j(l.Vk.orderform_domain));const e=new c.W(l.Vk.adjust_all_urls,l.Rs,l.Vk.promo_parameter,D);b.add(new p.T(e)),b.run(),(0,u.N)(e),function(){function e(){l.Vk.promo_parameter.cs_analytics=(0,f.L)();const e=(0,g.If)(l.Vk.ga_measurement_id);!l.Vk.promo_parameter.ga_cid&&e.ga_cid&&(l.Vk.promo_parameter.ga_cid=e.ga_cid),!l.Vk.promo_parameter.ga_sid&&e.ga_sid&&(l.Vk.promo_parameter.ga_sid=e.ga_sid),C()}k||(k=!0,window.addEventListener("CookiebotOnAccept",e,!1),window.addEventListener("CookiebotOnDecline",e,!1),window.addEventListener("CookiebotOnConsentReady",e,!1),window.addEventListener("CookiebotOnLoad",e,!1),e())}();const t=document.createElement("div");t.setAttribute("id","digistore24_js_included"),t.style.display="none",document.body.appendChild(t)}))}function R(){var e;let t;try{const i=null===(e=window.sessionStorage)||void 0===e?void 0:e.getItem(l.Jm);t=JSON.parse(i),"object"==typeof t&&null!==t||(t={})}catch(e){t={}}return t}let P=!1;function O(){var e;if(P)return l.Vk.promo_parameter;let t=Object.assign({},l.Vk.promo_parameter);const i=R();if(null!==i.parameter&&void 0!==i.parameter){const e=Object.keys(i.parameter);e.length>0&&e.filter((e=>l.Xl.indexOf(e)>=0)).forEach((e=>{const o=i.parameter[e];t[e]=o&&"null"!==o?o:""}))}if(!i.parameter||0===Object.keys(i.parameter).length)try{const i=null===(e=window.localStorage)||void 0===e?void 0:e.getItem(l.jC),o=JSON.parse(i);"object"==typeof(null==o?void 0:o.parameter)&&null!==o.parameter&&Object.keys(t).filter((e=>l.Xl.indexOf(e)>=0)).forEach((e=>{const i=o.parameter[e];t[e]=i&&"null"!==i?i:""}))}catch(e){}try{const e=JSON.parse((0,h.W)(l.x6));"object"==typeof(null==e?void 0:e.parameter)&&null!==e.parameter&&Object.keys(t).filter((e=>l.Xl.indexOf(e)>=0)).forEach((i=>{const o=e.parameter[i];t[i]=o&&"null"!==o?o:""}))}catch(e){}let o={};location.hash&&(o=(0,_.S)(location.hash)),location.search&&(o=Object.assign(Object.assign({},o),(0,_.S)(location.search))),Object.keys(o).length>0&&(o.e&&!o[l.Vk.email_key]&&(o[l.Vk.email_key]=o.e),Object.keys(o).filter((e=>l.Xl.indexOf(e)<0)).forEach((e=>{delete o[e]})),t=Object.assign(Object.assign({},t),o));const r=(0,g.If)(l.Vk.ga_measurement_id);return!o[l.Vk.ga_cid_key]&&r.ga_cid&&(t.ga_cid=r.ga_cid),!o[l.Vk.ga_sid_key]&&r.ga_sid&&(t.ga_sid=r.ga_sid),y&&(t.ga_cid=y),S&&(t.ga_sid=S),t.cs_analytics||(t.cs_analytics=(0,f.L)()),l.Vk.promo_parameter=t,P=!0,l.Vk.promo_parameter}function I(e,t,i,o,r="image"){return e+"/track/"+(t||"AFFILIATE")+"/"+window.DIGISTORE_PRODUCT_ID+(i?"/"+i:"")+("image"===r?".png":".json")+"?"+o}function H(e){if(!e)return e;const t=e.toLowerCase();return t.startsWith("http://")||t.startsWith("https://")?e:`${window.location.protocol}//${e}`}},5482:(e,t,i)=>{"use strict";function o(e,t,i,o){return new(i||(i=Promise))((function(r,n){function a(e){try{d(o.next(e))}catch(e){n(e)}}function s(e){try{d(o.throw(e))}catch(e){n(e)}}function d(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(a,s)}d((o=o.apply(e,t||[])).next())}))}i.d(t,{sH:()=>o}),Object.create,Object.create,"function"==typeof SuppressedError&&SuppressedError},5495:e=>{function t(){return{"webdriver-status":{label:"WebDriver Present",description:"Indicates if navigator.webdriver flag is set to true",good:"Browser is running normally without automation framework",bad:"Automation tool (Selenium, Puppeteer) is controlling this browser"},"cdp-detected":{label:"CDP Detected",description:"Chrome DevTools Protocol connection or ChromeDriver presence",good:"No CDP artifacts found - normal browser operation",bad:"CDP-based automation detected (Puppeteer, Playwright, Selenium 4+)"},"cdp-keys":{label:"CDC Keys Found",description:"Number of ChromeDriver-specific CDC keys in window/document",good:"0 keys - no ChromeDriver injection",bad:">0 keys - ChromeDriver has injected tracking properties"},"ua-suspicious":{label:"Suspicious Patterns",description:"User-Agent contains automation/headless keywords",good:"Clean User-Agent string without automation indicators",bad:"Contains 'headless', 'HeadlessChrome', 'selenium', 'puppeteer'"},"webgl-supported":{label:"WebGL Supported",description:"Browser supports WebGL rendering API",good:"WebGL available - normal browser capability",bad:"WebGL missing - very unusual for modern browsers"},"webgl-software":{label:"Software Renderer",description:"Using CPU-based software rendering instead of GPU",good:"Hardware GPU rendering - normal desktop/laptop",bad:"Software renderer (SwiftShader, llvmpipe) - VM or headless"},"webgl-renderer":{label:"Renderer",description:"GPU vendor and model reported by WebGL",info:"Shows claimed GPU hardware. Can be spoofed but rendering test verifies it"},"webgl-rendering-test":{label:"Rendering Test",description:"Complex 3D scene rendering matches claimed GPU capabilities",good:"Rendering output consistent with reported GPU",bad:"Output doesn't match GPU specs - spoofing detected"},"webgl-noise":{label:"Noise Ratio",description:"Pixel variation in rendered output (hardware-specific)",good:"<1% noise - normal hardware rendering",bad:">2% noise - suspicious uniform output, possible emulation"},"worker-available":{label:"Worker Available",description:"Web Workers API is supported and functional",good:"Workers available - normal browser",bad:"Workers unavailable - very unusual"},"worker-mismatch":{label:"UA Mismatch",description:"User-Agent differs between main thread and Worker",good:"Consistent UA - properly patched automation or real browser",bad:"UA mismatch - automation failed to patch Worker context"},"worker-status":{label:"Status",description:"Current state of Worker UA validation",info:"Shows if check is pending, completed, or any mismatch details"},"emoji-rendered":{label:"Emoji Rendered",description:"Canvas successfully rendered emoji character",good:"Emoji rendering works - normal browser",bad:"Failed to render - missing fonts or headless"},"emoji-os":{label:"Detected OS",description:"Operating system parsed from User-Agent string (not from emoji rendering)",info:"OS information extracted from User-Agent for reference only"},"emoji-suspicious":{label:"Suspicious",description:"Emoji failed to render on canvas",good:"Emoji rendered successfully",bad:"Emoji not rendered - possible headless browser"},"outer-dims":{label:"Has Outer Dimensions",description:"window.outerWidth/outerHeight are available",good:"Outer dimensions present - normal windowed browser",bad:"Missing outer dimensions - common in headless mode"},"inner-outer":{label:"Inner = Outer",description:"Inner and outer window dimensions are identical",good:"Different dimensions - normal browser with chrome/toolbar",bad:"Identical - suspicious, may indicate headless or fullscreen automation"},dimensions:{label:"Dimensions",description:"Inner dimensions / Outer dimensions (width x height)",info:"Inner is viewport, outer includes browser chrome. Difference indicates normal browser"},"plugins-count":{label:"Plugins",description:"Number of browser plugins available",info:"Normal browsers have 3-5 plugins. Headless often has 0"},"languages-check":{label:"Languages",description:"navigator.languages array is populated",good:"Languages array present - normal browser",bad:"Empty or missing - common headless indicator"},"media-devices":{label:"Media Devices",description:"navigator.mediaDevices API is available",good:"MediaDevices API present - normal browser",bad:"Missing API - common in headless browsers"},notifications:{label:"Notifications",description:"Notification permission state (granted/denied/default)",info:"Headless often defaults to 'denied', normal browsers to 'default'"},"flag-domautomation":{label:"domAutomation",description:"Global domAutomation property - Chrome automation indicator",good:"Not present - normal browser",bad:"Present - automation framework detected"},"flag-selenium":{label:"_selenium",description:"Selenium-specific global variable",good:"Not present - normal browser",bad:"Present - Selenium WebDriver detected"},"flag-webdriver-evaluate":{label:"__webdriver_evaluate",description:"WebDriver evaluate function injection",good:"Not present - normal browser",bad:"Present - WebDriver automation detected"},"flag-phantom":{label:"_phantom",description:"PhantomJS-specific global variable",good:"Not present - normal browser",bad:"Present - PhantomJS headless browser detected"},"flag-nightmare":{label:"__nightmare",description:"Nightmare.js automation framework indicator",good:"Not present - normal browser",bad:"Present - Nightmare.js automation detected"},"flag-callphantom":{label:"callPhantom",description:"PhantomJS function for communication",good:"Not present - normal browser",bad:"Present - PhantomJS detected"},"playwright-binding":{label:"__playwright__binding__",description:"Playwright's internal binding mechanism exposed in window",good:"Not present - normal browser",bad:"Present - Playwright automation framework detected"},"playwright-initscripts":{label:"__pwInitScripts",description:"Playwright initialization scripts registry",good:"Not present - normal browser",bad:"Present - Playwright detected with init scripts"},"playwright-exposed":{label:"Exposed Functions",description:"Functions injected via page.exposeFunction() with __installed property",good:"None detected - normal browser",bad:"Detected - Playwright is using exposed bindings for automation"},"adv-stacktrace":{label:"CDP Stack Trace",description:"Error.stack accessed by CDP Runtime.enable",good:"No CDP stack trace leak detected",bad:"CDP detected via Error stack - automation using CDP protocol"},"adv-runtime":{label:"Chrome Runtime",description:"chrome.runtime extension API availability (extensions only)",good:"chrome.runtime available (running as extension)",bad:"chrome.runtime not available (normal for regular web pages)"},"adv-permissions":{label:"Permissions API",description:"navigator.permissions API behavior",good:"Permissions API works normally",bad:"Permissions denied by default - headless indicator"},"adv-console":{label:"Console Debug",description:"console.debug CDP artifact detection",good:"No console.debug leaks detected",bad:"CDP detected via console.debug modification"},"media-webrtc":{label:"WebRTC Available",description:"RTCPeerConnection API for real-time communication",good:"WebRTC available - normal browser",bad:"WebRTC disabled/missing - privacy mode or headless"},"media-devices-count":{label:"Media Devices Count",description:"Number of cameras, microphones available",info:"Real devices usually have 1-3. Headless typically has 0"},"media-battery":{label:"Battery API",description:"navigator.getBattery() API availability",good:"Battery API available",bad:"Missing - common in VMs or headless browsers"},"fp-canvas":{label:"Canvas Available",description:"HTML5 Canvas API for 2D/3D graphics",good:"Canvas works normally",bad:"Canvas missing or behaving abnormally"},"fp-audio":{label:"Audio Context",description:"Web Audio API for sound processing",good:"Audio Context available",bad:"Missing - unusual for modern browsers"},"fp-fonts":{label:"Fonts Detected",description:"Number of system fonts detected via canvas measurement",info:"Normal systems have 8+ fonts. Headless typically <3 fonts"},platform:{label:"Platform",description:"navigator.platform - operating system identifier",info:"Shows OS platform. Should match User-Agent OS claim"},"cpu-cores":{label:"CPU Cores",description:"navigator.hardwareConcurrency - logical CPU cores",info:"Real machines: 2-32 cores. VMs often have fewer"},"device-memory":{label:"Device Memory",description:"navigator.deviceMemory - RAM in GB (approximate)",info:"Real devices: 4-64 GB. Headless/VMs may report different values"},"touch-points":{label:"Touch Points",description:"navigator.maxTouchPoints - max simultaneous touches",info:"Desktop: 0, Mobile: 5-10, Tablets: 10+"}}}e.exports&&(e.exports={getCheckItemExplanations:t}),"undefined"!=typeof window&&(window.HeadlessDetectorModules=window.HeadlessDetectorModules||{},window.HeadlessDetectorModules.getCheckItemExplanations=t)},5742:(e,t,i)=>{"use strict";function o(){return"https://www.checkout-ds24.com"}i.d(t,{X:()=>o})},6008:(e,t,i)=>{"use strict";i.d(t,{W:()=>n});var o=i(4378),r=i(9754);class n{constructor(e,t,i,o=[]){this.trackAllDomain=e,this.parameterToAppend=t,this.parameterValues=i,this.alwaysStripKeys=o}buildAppendSearchString(){return this.parameterToAppend.filter((e=>!!this.parameterValues[e])).map((e=>e+"="+encodeURIComponent(this.parameterValues[e]))).join("&")}isTrackedHost(e){return this.trackAllDomain||o._I.indexOf("http://"+e)>=0||o._I.indexOf("https://"+e)>=0}isValidLink(e){return(!!this.buildAppendSearchString()||(0,r.ge)(e.search,this.alwaysStripKeys))&&this.isTrackedHost(e.host)}replaceLink(e){const t=this.buildAppendSearchString();if(e.search){const i=[(0,r.$i)(e.search,(0,r.Ly)(this.parameterToAppend,this.parameterValues),this.alwaysStripKeys),t].filter((e=>!!e)).join("&");e.search=i?"?"+i:""}else t&&(e.search="?"+t)}isValidUrl(e){const t=!!o._I.find((t=>e.startsWith(t))),i=e.indexOf("?"),n=i>=0?e.slice(i):"";return(!!this.buildAppendSearchString()||(0,r.ge)(n,this.alwaysStripKeys))&&t}replaceUrl(e){return(0,r.j1)(e,this.parameterToAppend,this.parameterValues,this.alwaysStripKeys)}}},6044:e=>{function t(){try{let e=0;const t=[],i=["_calculateHeadlessScore","_detectWebdriver","_detectPlaywrightExposedFunctions","_getAutomationFlags","_detectCDP","_getHeadlessIndicators","_checkUserAgent","_checkWebGL","_getAdvancedChecks","_getMediaChecks","_getFingerprintChecks","_getWorkerChecks","_getWorkerChecksSync","_getDetectionExplanations","_generateDetectionSummary","_checkCanvas","_checkAudioContext","_checkFonts","_simpleHash","_checkEmojiRendering","_performWebGLRenderingTest","_checkMediaDevices","_checkWebRTC","_checkBattery","_detectCDPStackTrace","_checkChromeRuntime","_checkPermissions","_detectConsoleDebugLeak","_getCheckItemExplanations","detectHeadless","HeadlessDetector"];return Object.entries(window).forEach((([o,r])=>{if(!i.includes(o)&&!(o.startsWith("_")&&o.includes("Headless")||"HeadlessDetector"===o||"function"!=typeof r)){let i=!1;"boolean"==typeof r.__installed&&(i=!0);try{const e=r.toString();(e.includes("exposeBindingHandle supports a single argument")||e.includes("serializeAsCallArgument")||e.includes("globalThis[bindingName]")||e.includes('me["callbacks"]')||e.includes('me["lastSeq"]'))&&(i=!0)}catch(e){}i&&!t.includes(o)&&(e++,t.push(o))}})),{detected:e>0,count:e,functions:t.slice(0,5)}}catch(e){return{detected:!1,count:0,error:e.message}}}function i(){try{return{webdriver:!!navigator.webdriver,domAutomation:!!window.domAutomation,domAutomationController:!!window.domAutomationController,_selenium:!!window._selenium,__webdriver_script_fn:!!window.__webdriver_script_fn,__driver_evaluate:!!window.__driver_evaluate,__webdriver_evaluate:!!window.__webdriver_evaluate,__fxdriver_evaluate:!!window.__fxdriver_evaluate,__driver_unwrapped:!!window.__driver_unwrapped,__webdriver_unwrapped:!!window.__webdriver_unwrapped,__fxdriver_unwrapped:!!window.__fxdriver_unwrapped,_Selenium_IDE_Recorder:!!window._Selenium_IDE_Recorder,calledSelenium:!!window.calledSelenium,$chrome_asyncScriptInfo:!!window.$chrome_asyncScriptInfo,$cdc_asdjflasutopfhvcZLmcfl_:!!window.$cdc_asdjflasutopfhvcZLmcfl_,__playwright:!!window.__playwright,playwrightGlobal:void 0!==window.playwright,__playwright__binding__:"__playwright__binding__"in window,__pwInitScripts:"__pwInitScripts"in window,playwrightExposedFunctions:t(),plugins:navigator.plugins?navigator.plugins.length:0,languages:navigator.languages&&navigator.languages.length>0,mimeTypes:navigator.mimeTypes?navigator.mimeTypes.length:0,cookieEnabled:navigator.cookieEnabled,doNotTrack:navigator.doNotTrack,chrome:!!window.chrome,chromeRuntime:!!(window.chrome&&window.chrome.runtime&&window.chrome.runtime.id),permissionsAPI:!!navigator.permissions}}catch(e){return{error:!0}}}function o(){try{return{hasOuterDimensions:window.outerWidth>0&&window.outerHeight>0,innerEqualsOuter:window.innerWidth===window.outerWidth&&window.innerHeight===window.outerHeight,outerWidth:window.outerWidth,outerHeight:window.outerHeight,innerWidth:window.innerWidth,innerHeight:window.innerHeight,screenColorDepth:window.screen.colorDepth,screenPixelDepth:window.screen.pixelDepth,screenWidth:screen.width,screenHeight:screen.height,devicePixelRatio:window.devicePixelRatio,connectionType:navigator.connection?navigator.connection.type:"unknown",connectionRtt:navigator.connection?navigator.connection.rtt:-1,connectionDownlink:navigator.connection?navigator.connection.downlink:-1,notificationPermission:"undefined"!=typeof Notification?Notification.permission:"unsupported",hasBattery:"getBattery"in navigator,hasCredentials:"credentials"in navigator,hasMediaDevices:"mediaDevices"in navigator,hasServiceWorker:"serviceWorker"in navigator,language:navigator.language,languages:navigator.languages?Array.from(navigator.languages):[],languageCount:navigator.languages?navigator.languages.length:0,platform:navigator.platform,hardwareConcurrency:navigator.hardwareConcurrency,deviceMemory:navigator.deviceMemory,maxTouchPoints:navigator.maxTouchPoints||0,timezone:Intl.DateTimeFormat().resolvedOptions().timeZone,timezoneOffset:(new Date).getTimezoneOffset()}}catch(e){return{error:!0}}}function r(){try{const e=!!window.chrome,t=!(!window.chrome||!window.chrome.runtime);return{hasChrome:e,hasRuntime:t,hasRuntimeId:!!(window.chrome&&window.chrome.runtime&&window.chrome.runtime.id),missing:e&&!t,suspicious:!1}}catch(e){return{error:!0}}}function n(){try{if(!navigator.permissions)return{available:!1};const e="undefined"!=typeof Notification&&"denied"===Notification.permission;return{available:!0,notificationPermission:"undefined"!=typeof Notification?Notification.permission:"unsupported",deniedByDefault:e}}catch(e){return{available:!1,error:!0}}}e.exports&&(e.exports={detectPlaywrightExposedFunctions:t,getAutomationFlags:i,getHeadlessIndicators:o,checkChromeRuntime:r,checkPermissions:n}),"undefined"!=typeof window&&(window.HeadlessDetectorModules=window.HeadlessDetectorModules||{},window.HeadlessDetectorModules.detectPlaywrightExposedFunctions=t,window.HeadlessDetectorModules.getAutomationFlags=i,window.HeadlessDetectorModules.getHeadlessIndicators=o,window.HeadlessDetectorModules.checkChromeRuntime=r,window.HeadlessDetectorModules.checkPermissions=n)},6210:(e,t,i)=>{"use strict";i.d(t,{E:()=>r});var o=i(5482);function r(e){return(0,o.sH)(this,void 0,void 0,(function*(){return new Promise(((t,i)=>{var o;if("jsonp"===e.dataType)return void function(i,o,r,a){const s="__wrap_jsonp_response_"+n++;window[s]=function(i){var o;o=i,e.success&&e.success(o),t(o)};const d=i+(i.indexOf("?")>=0?"&":"?")+o+"="+encodeURIComponent(s),c=document.createElement("script"),l=function(){document.head.removeChild(c),delete window[s]};c.setAttribute("src",d),c.addEventListener("load",l),c.addEventListener("error",(()=>{l(),a&&a(new Error(`JSONP request failed: ${d}`))})),document.head.appendChild(c)}(e.url,null!==(o=e.jsonpCallbackFunctionParameter)&&void 0!==o?o:"jsonp_callback",0,(t=>{e.error&&(e.error(t),i(t))}));const r=new XMLHttpRequest;r.open(e.method?e.method:"GET",e.url,!0),"json"===e.dataType&&r.setRequestHeader("Accept","application/json"),r.onload=()=>{const i=JSON.parse(r.responseText);e.success&&e.success(i),t(i)},r.send(e.data?JSON.stringify(e.data):null)}))}))}let n=0},6216:(e,t,i)=>{"use strict";i.d(t,{f:()=>r});var o=i(1925);const r=function(e){if((0,o.$)("digistoreSanitizeLocation",[e]),void 0===window.DIGISTORE_KEEP_AFFILIATEIN_LOCATION_HREF||!window.DIGISTORE_KEEP_AFFILIATEIN_LOCATION_HREF){var t=location.href,i=location.href.indexOf("?"),r=location.href.indexOf("#"),a=i>=0,s=r>=0;if(a||s){var d=a?i:r,c=t.slice(0,d),l=a?s?t.slice(i+1,r):t.slice(i+1):"",u=s?t.slice(r+1):"";a&&(l=n(e,l)),s&&(u=n(e,u)),t=c,l&&(t+="?"+l),u&&(t+="#"+u),history.pushState("",document.title,t)}}};function n(e,t){var i=t.split("&"),o="";for(let t in i){var r=i[t],n=r.indexOf("="),a=n>=0?r.slice(0,n):r,s=!1;for(let t in e){if(s)break;var d=e[t],c="object"==typeof d?d:[d];for(let e in c)if(s=c[e]===a)break}s||(o&&(o+="&"),o+=r)}return o}},6819:e=>{function t(){try{return navigator.mediaDevices?{available:!0,enumerateDevices:"function"==typeof navigator.mediaDevices.enumerateDevices,getUserMedia:"function"==typeof navigator.mediaDevices.getUserMedia,suspicious:!1}:{available:!1,suspicious:!0}}catch(e){return{available:!1,error:!0,suspicious:!0}}}function i(){try{const e=!!window.RTCPeerConnection,t=!(!navigator.mediaDevices||!navigator.mediaDevices.getUserMedia);let i=!1;if(e)try{new RTCPeerConnection}catch(e){i=!0}return{available:e,getUserMedia:t,disabled:i,suspicious:i||!t}}catch(e){return{available:!1,error:!0,suspicious:!0}}}function o(){try{return{available:"getBattery"in navigator,suspicious:!1}}catch(e){return{available:!1,error:!0}}}function r(){return{mediaDevices:t(),webrtc:i(),battery:o()}}e.exports&&(e.exports={checkMediaDevices:t,checkWebRTC:i,checkBattery:o,getMediaChecks:r}),"undefined"!=typeof window&&(window.HeadlessDetectorModules=window.HeadlessDetectorModules||{},window.HeadlessDetectorModules.checkMediaDevices=t,window.HeadlessDetectorModules.checkWebRTC=i,window.HeadlessDetectorModules.checkBattery=o,window.HeadlessDetectorModules.getMediaChecks=r)},7334:(e,t,i)=>{"use strict";i.d(t,{If:()=>s});var o=i(8258);const r="ga_fp_client_id",n="ga_fp_session_id";function a(e){try{const t=(0,o.W)(e);if(!t)return"";try{return decodeURIComponent(t)}catch(e){return t}}catch(e){return""}}function s(e){let t="",i="";try{t=a(r)||function(e){if(!e)return"";const t=e.split(".");return t.length<4?"":t.slice(-2).join(".")}((0,o.W)("_ga"))}catch(e){t=""}try{const t=a(n);i=t||function(e){if(!e)return"";const t=e.split(".");if(t.length<3)return"";const i=t[2]||"",o=i.indexOf("$"),r=o>=0?i.substring(0,o):i;return"s"===r.charAt(0)?r.substring(1):r}(function(e,t){if(!e)return"";if(t){const e=(0,o.W)(`_ga_${t}`);if(e)return e}const i=e.split(";");for(const e of i){const t=e.trim();if(0===t.indexOf("_ga_")){const e=t.indexOf("=");if(e>0)return t.substring(e+1)}}return""}("undefined"!=typeof document?document.cookie:"",e))}catch(e){i=""}return{ga_cid:t,ga_sid:i}}},7508:(e,t,i)=>{"use strict";i.d(t,{Jm:()=>n,Rs:()=>d,Vk:()=>r,Xl:()=>c,jC:()=>a,x6:()=>s});const o={ds24tr:"",aff:"",cam:"",cid:"",sid1:"",sid2:"",sid3:"",sid4:"",sid5:"",a:"",c:"",utm_source:"",utm_medium:"",utm_campaign:"",utm_term:"",utm_content:"",email:"",testpay:"",testpay_team:"",ga_cid:"",ga_sid:"",cs_analytics:""};class r{static initialize(){this.promo_parameter=o}}r.adjust_domain=!1,r.adjust_all_urls=!1,r.checkout_url="https://www.checkout-ds24.com",r.orderform_domain=function(){const e="https://www.checkout-ds24.com",t=e.indexOf("://");return t>=0?e.slice(t+3):e}(),r.checkout_domain="",r.promo_code_loaded=!1,r.promo_parameter=o,r.affiliate_key="aff",r.campaignkey_key="cam",r.vendor_key="ds24tr",r.link_id_sep="~",r.link_id_keys=["cid","sid1","sid2","sid3","sid4","sid5"],r.utm_keys=["utm_source","utm_medium","utm_campaign","utm_term","utm_content"],r.click_amt_keys=["a","c"],r.email_key="email",r.promolink_domain_key="ds24_domain",r.testpay_key="testpay",r.testpay_team_key="testpay_team",r.ga_cid_key="ga_cid",r.ga_sid_key="ga_sid",r.ga_measurement_id="",r.cs_analytics_key="cs_analytics";const n="ds24s.v1",a="ds24p.v1",s="ds24c.v1",d=[r.vendor_key,r.affiliate_key,r.campaignkey_key,...r.link_id_keys,...r.utm_keys,...r.click_amt_keys,r.email_key,r.testpay_key,r.testpay_team_key,r.ga_cid_key,r.ga_sid_key,r.cs_analytics_key],c=[...d,r.promolink_domain_key];function l(e,t,i,o){void 0===window[e]&&Object.defineProperty(window,e,{get:()=>{console.warn("[Digistore24] Deprecated configuration: Do not read value from window."+e+" use api functions!");const o=t.reduce(((e,t)=>e[t]),r);return i?i(o):o},set:i=>{console.warn("[Digistore24] Deprecated configuration: Do not set window."+e+" = use api functions!");const n=t.slice(0,-1).reduce(((e,t)=>e[t]),r);n[t[t.length-1]]=o?o(n[t[t.length-1]],i):i}})}l("DIGISTORE_VENDOR_VAL",["promo_parameter","ds24tr"]),l("DIGISTORE_AFFILIATE_VAL",["promo_parameter","aff"]),l("DIGISTORE_CAMPAIGNKEY_VAL",["promo_parameter","cam"]),l("DIGISTORE_LINK_ID_VAL",["promo_parameter"],(e=>r.link_id_keys.map((t=>e[t])).join(r.link_id_sep)),((e,t)=>{const i=t.split(r.link_id_sep);return r.link_id_keys.forEach(((t,o)=>{var r;e[t]=null!==(r=i[o])&&void 0!==r?r:""})),e})),l("DIGISTORE_UTM_VAL",["promo_parameter"],(e=>r.utm_keys.map((t=>e[t])).join(r.link_id_sep)),((e,t)=>{const i=t.split(r.link_id_sep);return r.utm_keys.forEach(((t,o)=>{var r;e[t]=null!==(r=i[o])&&void 0!==r?r:""})),e})),l("DIGISTORE_CLICK_AMT_VAL",["promo_parameter"],(e=>r.click_amt_keys.map((t=>e[t])).join(r.link_id_sep)),((e,t)=>{const i=t.split(r.link_id_sep);return r.click_amt_keys.forEach(((t,o)=>{var r;e[t]=null!==(r=i[o])&&void 0!==r?r:""})),e})),l("DIGISTORE_EMAIL_VAL",["promo_parameter","email"]),l("DIGISTORE_AFFILIATE_KEY",["affiliate_key"]),l("DIGISTORE_CAMPAIGNKEY_KEY",["campaignkey_key"]),l("DIGISTORE_VENDORKEY",["vendor_key"]),l("DIGISTORE_LINK_ID_SEP",["link_id_sep"]),l("DIGISTORE_LINK_ID_KEY",["link_id_keys"]),l("DIGISTORE_UTM_KEY",["utm_keys"]),l("DIGISTORE_CLICK_AMT_KEY",["click_amt_keys"]),l("DIGISTORE_EMAIL_KEY",["email_key"])},7775:e=>{function t(){try{return!!(navigator.webdriver||window.document.__webdriver_evaluate||window.document.__selenium_evaluate||window.document.__webdriver_script_fn||window.document.__webdriver_script_func||window.document.__webdriver_script_function||window.document.$cdc_asdjflasutopfhvcZLmcfl_||window.document.$wdc_||window._Selenium_IDE_Recorder||window._phantom||window.__nightmare||window.callPhantom||window._phantom||window.__playwright__binding__||window.__pwInitScripts)}catch(e){return!1}}e.exports&&(e.exports={detectWebdriver:t}),"undefined"!=typeof window&&(window.HeadlessDetectorModules=window.HeadlessDetectorModules||{},window.HeadlessDetectorModules.detectWebdriver=t)},8258:(e,t,i)=>{"use strict";function o(e,t,i){let o=e+"="+t+";path=/";if(i>0){const r=new Date;r.setTime(r.getTime()+864e5*i),o=e+"="+t+";expires="+r.toUTCString()+";path=/"}document.cookie=o,void 0===window.ds24_cookies&&(window.ds24_cookies={}),window.ds24_cookies[e]=t}function r(e){if(void 0===window.ds24_cookies&&(window.ds24_cookies={}),void 0!==window.ds24_cookies[e])return window.ds24_cookies[e];const t=e+"=",i=document.cookie.split(";");for(let e=0;eo,W:()=>r})},9561:(e,t,i)=>{"use strict";i.d(t,{j:()=>o});class o{constructor(e){const t=e.indexOf("://");this.domain=t>=0?e.slice(t+3):e}isValidLink(e){return e.host!==this.domain&&!!e.pathname.match(/^\/product\/[0-9]+/)}replaceLink(e){e.host=this.domain}isValidUrl(){return!1}replaceUrl(e){return e}}},9754:(e,t,i)=>{"use strict";i.d(t,{$i:()=>n,Ly:()=>a,ge:()=>r,j1:()=>s});var o=i(3377);function r(e,t){if(!e||!t.length)return!1;const i=(0,o.S)(e);return t.some((e=>e in i))}function n(e,t,i=[]){const r=(0,o.S)(e);return Object.keys(r).filter((e=>!t[e]&&i.indexOf(e)<0)).map((e=>e+"="+encodeURIComponent(r[e]))).join("&")}function a(e,t){const i={};return e.forEach((e=>{t[e]&&(i[e]=t[e])})),i}function s(e,t,i,o=[]){const s=e.indexOf("?"),d=t.filter((e=>!!i[e])).map((e=>e+"="+encodeURIComponent(i[e]))).join("&");if(s<0)return d?e+"?"+d:e;if(!d&&!r(e.slice(s),o))return e;const c=[n(e.slice(s),a(t,i),o),d].filter((e=>!!e)).join("&");return c?e.slice(0,s+1)+c:e.slice(0,s)}},9769:(e,t,i)=>{"use strict";i.d(t,{N:()=>o});class o{constructor(){this.linkReplacerList=[]}replaceLink(e){this.linkReplacerList.forEach((t=>{t.isValidLink(e)&&t.replaceLink(e)}))}replaceIframeUrl(e){return this.linkReplacerList.forEach((t=>{t.isValidUrl(e.src)&&(e.src=t.replaceUrl(e.src))}))}add(e){this.linkReplacerList.push(e)}run(){document.querySelectorAll("a").forEach((e=>this.replaceLink(e))),document.querySelectorAll("iframe").forEach((e=>this.replaceIframeUrl(e))),window.MutationObserver}stop(){var e;null===(e=this.observer)||void 0===e||e.disconnect()}}}},__webpack_module_cache__={},inProgress,dataWebpackPrefix;function __webpack_require__(e){var t=__webpack_module_cache__[e];if(void 0!==t)return t.exports;var i=__webpack_module_cache__[e]={id:e,exports:{}};return __webpack_modules__[e](i,i.exports,__webpack_require__),i.exports}__webpack_require__.m=__webpack_modules__,__webpack_require__.amdO={},__webpack_require__.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return __webpack_require__.d(t,{a:t}),t},__webpack_require__.d=(e,t)=>{for(var i in t)__webpack_require__.o(t,i)&&!__webpack_require__.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})},__webpack_require__.f={},__webpack_require__.e=e=>Promise.all(Object.keys(__webpack_require__.f).reduce(((t,i)=>(__webpack_require__.f[i](e,t),t)),[])),__webpack_require__.u=e=>"js/digistore-"+{303:"widget",343:"cart-css",384:"modern-css",526:"cart_overlay-css",949:"cart"}[e]+".chunk.js",__webpack_require__.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),__webpack_require__.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),inProgress={},dataWebpackPrefix="client:",__webpack_require__.l=(e,t,i,o)=>{if(inProgress[e])inProgress[e].push(t);else{var r,n;if(void 0!==i)for(var a=document.getElementsByTagName("script"),s=0;s{r.onerror=r.onload=null,clearTimeout(l);var o=inProgress[e];if(delete inProgress[e],r.parentNode&&r.parentNode.removeChild(r),o&&o.forEach((e=>e(i))),t)return t(i)},l=setTimeout(c.bind(null,void 0,{type:"timeout",target:r}),12e4);r.onerror=c.bind(null,r.onerror),r.onload=c.bind(null,r.onload),n&&document.head.appendChild(r)}},__webpack_require__.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{var e;__webpack_require__.g.importScripts&&(e=__webpack_require__.g.location+"");var t=__webpack_require__.g.document;if(!e&&t&&(t.currentScript&&"SCRIPT"===t.currentScript.tagName.toUpperCase()&&(e=t.currentScript.src),!e)){var i=t.getElementsByTagName("script");if(i.length)for(var o=i.length-1;o>-1&&(!e||!/^http(s?):/.test(e));)e=i[o--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),__webpack_require__.p=e})(),(()=>{var e={521:0};__webpack_require__.f.j=(t,i)=>{var o=__webpack_require__.o(e,t)?e[t]:void 0;if(0!==o)if(o)i.push(o[2]);else{var r=new Promise(((i,r)=>o=e[t]=[i,r]));i.push(o[2]=r);var n=__webpack_require__.p+__webpack_require__.u(t),a=new Error;__webpack_require__.l(n,(i=>{if(__webpack_require__.o(e,t)&&(0!==(o=e[t])&&(e[t]=void 0),o)){var r=i&&("load"===i.type?"missing":i.type),n=i&&i.target&&i.target.src;a.message="Loading chunk "+t+" failed.\n("+r+": "+n+")",a.name="ChunkLoadError",a.type=r,a.request=n,o[1](a)}}),"chunk-"+t,t)}};var t=(t,i)=>{var o,r,[n,a,s]=i,d=0;if(n.some((t=>0!==e[t]))){for(o in a)__webpack_require__.o(a,o)&&(__webpack_require__.m[o]=a[o]);s&&s(__webpack_require__)}for(t&&t(i);d{"use strict";__webpack_require__(1386);var e=__webpack_require__(8258);function t(e){if(!e)return{};const t={};a=0;const i=e.split(" ");let o,r=!1,n="";for(let e in i)if(r)i[e].substr(-1)==r?(o+=" "+i[e].substr(0,i[e].length-1),t[n]=o,o="",n="",r=!1):o+=" "+i[e];else{var a=i[e].indexOf("=");if(a>=0){n=i[e].substring(0,a).toLowerCase(),o=i[e].substring(a+1);const t=o.substr(0,1),d=o.substr(-1);var s='"'===t||"'"===t;s?s&&s&&t===d?o=o.substring(1,o.length-1):(o=o.substring(1),r=t):o=o.replace(/\"/g,"").replace(/\'/g,"")}else n=i[e].toLowerCase(),o="";r||(n&&(t[n]=o),n="",o="")}return n&&o&&(t[n]=o),t}var i=__webpack_require__(4588),o=__webpack_require__(4378),r=__webpack_require__(3355),n=__webpack_require__(193),a=__webpack_require__(5482),s=__webpack_require__(7508);function d(e){if("complete"===document.readyState)return void e();const t=()=>{e(),window.removeEventListener("load",t,!1),window.removeEventListener("DOMContentLoaded",t,!1)};window.addEventListener("load",t,!1),document.addEventListener("DOMContentLoaded",t,!1)}var c=__webpack_require__(1925),l=__webpack_require__(5389);const u=function(e,t,i,o){(0,c.$)("digistorePromoPixel",arguments);let r=e;"object"==typeof e&&(r=e.product_id,o=e.email_key,i=e.campaignkey_key,t=e.affiliate_key,s.Vk.adjust_domain=!0===e.adjust_domain,s.Vk.adjust_all_urls=!0===e.adjust_all_urls,s.Vk.checkout_domain=e.checkout_domain,void 0!==e.ga_measurement_id&&(s.Vk.ga_measurement_id=e.ga_measurement_id));let n="";switch(void 0!==t&&(s.Vk.affiliate_key=t),void 0!==i&&(s.Vk.campaignkey_key=i),void 0!==o&&(s.Vk.email_key=o),typeof r){case"undefined":n="DigiStore24 product id missing.";break;case"number":r<=0&&(n="DigiStore24 product id "+r+" out of range.",r=void 0);break;case"string":n="Replace "+r+" by our DigiStore24 product id.",r=parseInt(r),(r<=0||isNaN(r))&&(r=void 0);break;default:n="Invalid DigiStore24 product id.",r=void 0}r?(window.DIGISTORE_PRODUCT_ID=r,d((()=>(0,a.sH)(this,void 0,void 0,(function*(){yield(0,l.kt)(),"function"==typeof e.callback&&e.callback(s.Vk.promo_parameter.aff,s.Vk.promo_parameter.cam)}))))):alert("ERROR: "+n+"\n\nCheck your html code.\n\nMake sure it contains text like: digistorePromoPixel( 12345 )\n\nReplace 12345 by your product id.")},p=function(e,t,i,o){u(e,t,i,o)};var m=__webpack_require__(5742);class _{constructor(e="DsUpsellModal-"+Math.random()){this.randFunctionKey=e,this.useShadowDom=!0,this.close=()=>{this.getContainer().innerHTML=""},this.openOverlay=e=>{this.getContainer().innerHTML=`\n \n \n \n
\n
\n ${e}\n
\n `};const t=document.body;this._container=document.createElement("div"),this._container.setAttribute("data-e2e","ds24-shadow-modal"),this.useShadowDom&&this._container.attachShadow({mode:"open"}),t.appendChild(this._container),window[this.randFunctionKey]=this}getContainer(){return this.useShadowDom?this._container.shadowRoot:this._container}loading(){this.openOverlay('
')}modal(e,t,i="",o=!1){this.openOverlay(`\n
\n
\n
${e}
\n \n \n \n
\n
${t}
\n
\n ${i}\n
\n
\n`)}}let h,w,g,f={};const b=(0,m.X)(),v="digistore-upsell-button",k=()=>document.querySelectorAll(`input[name=${v}-radio]`),y=(e,t)=>{(0,c.$)("digistoreSetUpsellChoice",[e,t]),f[e]=t,((e,t)=>{f[e]=t,k().forEach((i=>{i.value===`${e}-${t}`&&(i.checked=!0)}))})(e,t),g=setTimeout((()=>D(h,f,w)),250)},S=e=>{const t=e.value.split("-");return{key:t[0],value:t[1]}},A=(e,t)=>{const i=(""+e.data).includes("setPayFrameHeight");if(e.data&&i)try{const i=JSON.parse(e.data);console.log("resizeData",i),"setPayFrameHeight"===(null==i?void 0:i.ds24action)&&i.payload&&t.forEach((e=>{var t,o;(null===(t=i.payload)||void 0===t?void 0:t.width)&&(e.width=`${i.payload.width}px`),(null===(o=i.payload)||void 0===o?void 0:o.height)&&(e.height=`${i.payload.height}px`)}))}catch(t){console.log("Fail to parse received message from upsell button postmessage: "+JSON.stringify(e.data))}},C=(e,t="100%",i="400px")=>``,D=(e,t=f,i)=>{g&&clearTimeout(g);const o=e=>{const t=document.querySelectorAll(".upsell-button-iframe");A(e,Array.from(t))};window.removeEventListener("message",o),window.addEventListener("message",o),h=e,w=i,(()=>{const e=k();e.forEach((e=>{e.onchange=()=>{if(e.checked){const t=S(e);y(t.key,t.value)}}})),console.log("radios",e)})();const r=document.querySelectorAll(`${v}`);r.forEach((function(o){let r=`${b}/upsell_buy_button/${e}`;const n=[...Array.from(o.attributes).map((e=>`${e.nodeName}=${e.nodeValue}`)),...Object.keys(t).map((e=>`${e}=${t[e]}`))];n.length&&(r+="?"+n.join("&")),i&&!/[?&]ip_country=/i.test(r)&&(r+=r.includes("?")?"&":"?",r+=`ip_country=${encodeURIComponent(i)}`);const a=o.getElementsByTagName("iframe");if(a.length)Array.from(a).forEach((e=>{e.src=r}));else{const e=C(r);o.innerHTML=e}})),console.log("upsell-buttons",r)};function E(e,t=!0){(0,c.$)("ds24UpsellModal",arguments);const i=new _("upsell_modal");i.useShadowDom=t;const o={method:"GET",headers:new Headers({"Content-Type":"application/json"})};return i.loading(),fetch(e,o).then((e=>e.json())).then((e=>{setTimeout((()=>{if("show_message"===e.action&&e.message)i.modal("",`
${e.message}
`);else if("redirect"===e.action&&e.url)window.location.href=e.url;else if("show_iframe"===e.action&&e.iframe_url){const t="modalIframe",o=e=>{const o=i.getContainer().querySelector(`#${t}`),r=null==o?void 0:o.getElementsByTagName("iframe");(null==r?void 0:r.length)&&A(e,Array.from(r))};window.removeEventListener("message",o),window.addEventListener("message",o);const r=C(e.iframe_url,e.iframe_width+"px",e.iframe_height+"px");i.modal(e.headline||"",`
${r}
`,"",!0)}}),0)})).catch((t=>{i.openOverlay(`${t}`),setTimeout((()=>{window.location.href=e}),0)}))}let R,P;function O(){return null!==document.querySelector(v)}function I(e,t){try{fetch(`${(0,m.X)()}/upsell_track/${encodeURIComponent(e)}/${t}`,{mode:"no-cors",keepalive:!0}).catch((()=>{}))}catch(e){}}function H(){!function(e){const t=function(){let e=location.href.split("?");const t=e[1];if(void 0===t)return!1;const i=t.split("&");for(let t=0;t{const e=k(),t=Array.from(e).find((e=>e.checked));if(t){const e=S(t);y(e.key,e.value),console.log("preset selected radio",t)}else if(e.length){const t=S(e[0]);y(t.key,t.value),console.log("preset first radio",e[0])}})(),D(e,void 0,t||void 0);let i=0,o=0;if(document.querySelectorAll("a").forEach((r=>{const{hasNoLink:n,hasYesLink:a}=L(e,r,t||void 0);n&&i++,a&&o++})),!O()&&o&&void 0===P&&(P=!0,I(e,"impression")),!i&&o&&void 0===R){R=!0;const t=Number.MAX_SAFE_INTEGER||9007199254740991,i=(0,m.X)()+"/answer/"+e+"/upsell_no_button/",o=document.createElement("iframe");o.setAttribute("src",i),o.setAttribute("style","width: 500px; height: 150px; position: fixed; z-index: "+t+"; bottom: 0px; left: calc( 50% - 250px ); background-color: transparent; border: none; shadow: none;"),document.body.appendChild(o)}}(window.DS24_UPSELL_SESSION_ID)}function T(e){let t=location.href.split(e);const i=t[1];if(void 0===i)return!1;const o=i.split("&");for(let e=0;e0&&(s=a.replace(/digistore_upsell_session_id/g,"digistore_upsell_session_id="+e),s=x(s,"ip_country",i));return s&&t.setAttribute("href",s),(null===(o=t.getAttribute("href"))||void 0===o?void 0:o.match(/\/answer\/.*\/yes.*$/i))&&(t.onclick=function(t){const i=t.currentTarget.href;O()||I(e,"click"),E(i),t.preventDefault()}),{hasNoLink:r,hasYesLink:n}}const N=function(e){(0,c.$)("digistoreUpsell",arguments);const i=t(null!=e?e:"");for(const e in i){const t=i[e];"root_url"===e&&(window.DIGISTORE_ROOT_URL=t.replace(/\/$/,""))}void 0===window.DS24_UPSELL_SESSION_ID&&(window.DS24_UPSELL_SESSION_ID=T("?"),window.DS24_UPSELL_SESSION_ID||(window.DS24_UPSELL_SESSION_ID=T("#")),window.DS24_UPSELL_SESSION_ID&&(document.addEventListener("mousedown",(e=>{if(!(e.target instanceof HTMLElement))return;const t=e.target.closest("a");t&&L(window.DS24_UPSELL_SESSION_ID,t)}),!0),d(H)))};let U;var M=__webpack_require__(6216),W=__webpack_require__(9754);const j=e=>{(0,c.$)("digistoreAppendAffiliateToUrl",[e]);const t=(0,l.hZ)();return(0,W.j1)(e,s.Rs,t)},F=(e,t)=>{(0,c.$)("digistoreCheckoutUrl",[e,t]),s.Vk.promo_code_loaded||console.log("Digistore24: Please call digistoreCheckoutUrl AFTER digistorePromocode completed, so that it can use the correct custom domain in the url");let i=window.location.protocol+"//"+s.Vk.orderform_domain+"/product/"+e;return t&&(i+=("?"===t.charAt(0)?"":"?")+t),j(i)};function G(){return(0,a.sH)(this,void 0,void 0,(function*(){const e=yield __webpack_require__.e(303).then(__webpack_require__.bind(__webpack_require__,9428));for(const t in e)window[t]=e[t]}))}const B=window;B.ds24_set_cookie=e.D,B.ds24_get_cookie=e.W,B.ds24_parse_settings=t,B.ds24_retrieve=i.N,B.digistoreAddCustomDomain=o.l2,B.ds24_root_url=o.fr,B.ds24_set_root_url=o.gD,B.ds24_unique_id=r.y,B.detectHeadless=n.detectHeadless,B.digibankPromoPixel=p,B.digibankUpsell=function(){N()},B.digistoreSetEmailParamName=function(e){(0,c.$)("digistoreSetEmailParamName",arguments),s.Vk.email_key=e},B.digistoreKeepAffiliateInLocationHref=function(){(0,c.$)("digistoreKeepAffiliateInLocationHref",arguments),window.DIGISTORE_KEEP_AFFILIATEIN_LOCATION_HREF=!0},B.digistoreSetAffiliate=function(e,t){(0,c.$)("digistoreSetAffiliate",arguments),s.Vk.promo_parameter.aff=e,s.Vk.promo_parameter.cam=t},B.digistoreSetEmail=function(e){(0,c.$)("digistoreSetEmail",arguments),s.Vk.promo_parameter.email=e},B.digistoreSetFirstPartyGaIds=function(e,t){(0,c.$)("digistoreSetFirstPartyGaIds",arguments),(0,l.Dv)(e,t)},B.createUpsellModal=E,B.digistoreCheckoutUrl=F;const V={digistorePromoPixel:u,digistoreAppendAffiliateToBuyUrls:function(e,t,i){(0,c.$)("digistoreAppendAffiliateToBuyUrls",arguments),console.warn("digistoreAppendAffiliateToBuyUrls() is deprecated. Please use digistorePromoPixel(), it's now a default behavior to append the affiliate to buy urls."),u(e,t,i)},digistoreSanitizeLocation:M.f,digistoreCart:function(e){if((0,c.$)("digistoreCart",arguments),void 0!==U)return void console.log("Digistore24: ignored second call of digistoreCart()");U=!0,window.DS24_NETTO=!1,window.DS24_CURRENCY_SYMBOL=!1,window.DS24_CURRENCY="",window.DS24_ORDERFORM_ID=0,window.DS24_RETURN_URL="",window.DS24_THANKYOU_URL="",window.DS24_CHECKOUT_URL="",window.DS24_NO_RETURN_BUTTON=!1,window.DS24_UPSELL="any",window.DS24_LANGUAGE="",window.DS24_TRACKING_PARAM="",window.DS24_OF_AS_POPUP=!1,window.DS24_INFO_POSITION="top",window.DS24_THEME=!1,window.DS24_INFO_STICKY=!1,window.DS24_CONTINUE_URL="",window.DS24_CONTINUE_LABEL="",window.DS24_QUANTITY_RO=!1,window.DS24_SHOW_CART_SUM=!1,window.DS24_SHOW_CART_COUNT=!1,window.DS24_SHOW_CART_ITEMS=!1,window.DS24_ON_CART_CHANGE=!1,window.DS24_ON_MESSAGE=!1,window.DS24_VOUCHER="",window.DS24_TOOLTIP_SHOWN_BY_CLICK=!1;const i=t(e);for(let e in i){var o=i[e];switch(e){case"orderform_as_popup":window.DS24_OF_AS_POPUP=!0;break;case"netto":window.DS24_NETTO=!0;break;case"currency_symbol":window.DS24_CURRENCY_SYMBOL=!0;break;case"currency":window.DS24_CURRENCY=o;break;case"orderform_id":window.DS24_ORDERFORM_ID=o;break;case"upsell":window.DS24_UPSELL=o;break;case"root_url":window.DIGISTORE_ROOT_URL=o.replace(/\/$/,"");break;case"return_url":window.DS24_RETURN_URL=o;break;case"thankyou_url":window.DS24_THANKYOU_URL=o;break;case"checkout_url":window.DS24_CHECKOUT_URL=o;break;case"lang":case"language":window.DS24_LANGUAGE=o;break;case"tracking":case"tracking_key":case"tracking_param":case"ds24tr":window.DS24_TRACKING_PARAM=o;break;case"no_return_button":window.DS24_NO_RETURN_BUTTON=""===o?1:o;break;case"info_position":window.DS24_INFO_POSITION=o.replace(/\W/g,"");break;case"info_sticky":window.DS24_INFO_STICKY=!0;break;case"theme":window.DS24_THEME=o.replace(/\W/g,""),"clasic"==window.DS24_THEME&&(window.DS24_THEME=!1);break;case"continue_url":window.DS24_CONTINUE_URL=o;break;case"continue_label":window.DS24_CONTINUE_LABEL=o;break;case"quantity_readonly":window.DS24_QUANTITY_RO=!0;break;case"can_show_shipping_discount_progress":window.DS24_CAN_SHOW_SHIPPING_DISCOUNT_PROGRESS=!0;break;case"show_cart_items":window.DS24_SHOW_CART_ITEMS=o;break;case"show_total_amount":window.DS24_SHOW_CART_SUM=o;break;case"show_cart_count":window.DS24_SHOW_CART_COUNT=o;break;case"on_cart_change":window.DS24_ON_CART_CHANGE=o;break;case"on_message":window.DS24_ON_MESSAGE=o;break;case"voucher":window.DS24_VOUCHER=o;break;case"recommendation_product_ids":window.DS24_CART_RECOMMENDATIONS=o}window.DS24_RETURN_URL||(window.DS24_RETURN_URL=location.href)}window.DS24_INFO_STICKY&&(window.DS24_TOOLTIP_SHOWN_BY_CLICK=!0),(()=>{(0,a.sH)(this,void 0,void 0,(function*(){const e=yield __webpack_require__.e(949).then(__webpack_require__.bind(__webpack_require__,5891));d((()=>{for(let t in e)window[t]=e[t];e.ds24cart_loader()}))}))})()},digistoreUpsell:N,digistoreSetUpsellChoice:y,digistorePromocode:p,digitalElitePromocode:p,digistoreAppendAffiliateToUrl:j,digistoreCheckoutUrl:F};Object.keys(V).forEach((e=>{const t=e.replace(/^digistore/,"digistore");window[e]=V[e],window[t]=V[e]})),window.addEventListener("message",(e=>{if(e.data)try{!function(e){if("redirect"===(null==e?void 0:e.ds24action)){const t=e.payload.redirect_id?"https://www.digistore24.com/extern/ajax/redirect/"+e.payload.redirect_id:e.payload.url;t&&(window.location.href=t)}}(JSON.parse(e.data))}catch(t){window.location.search.includes("debug")&&console.log("Fail to parse received postmessage: "+JSON.stringify(e.data))}})),function e(){window._ds24||(window._ds24={q:[],e});const t=window;for(;window._ds24.q.length>0;){const[e,...i]=window._ds24.q.shift();t[e]?t[e].apply(window,i):console.warn('Coud not call "'+e+'" from ds24 queue')}window._ds24.e=e}(),d((()=>{document.querySelector("my-order-form")?G():window.MutationObserver&&new MutationObserver(((e,t)=>{for(const i of e)for(let e=0;e